我想制作Python应用程序的可执行文件(.exe)。
我想知道如何做到这一点,但请记住:我使用的是C ++ DLL!
我是否必须将DLL与.exe放在一边或者还有其他方法吗?
答案 0 :(得分:10)
py2exe可以生成单个文件可执行文件。有关示例,请参阅this link。
我使用的setup.py使用以下选项组合:
'compressed': 1,
'optimize':2,
'bundle_files': 1
我通常在可执行文件所在的文件夹中添加外部dll(p.e. msvcr71.dll)。
为了便于分发并在生成exe后自动安装,您可以使用Inno Setup创建一个安装程序,将您的exe和dll以及其他文档(自述文件等)放入应用程序目录
答案 1 :(得分:4)
遵循这些步骤:您可以在此site中找到此文档。
假设您已在此目录中安装了PIP c:\ PythonXX \ Scripts,如果没有,请转到此site并查看有关如何“安装Python索引项目(PIP)”的说明。转到命令提示符并键入以下命令。
转到此站点并查找名为pywin32-218.win32-py2.7.exe 2.7的可执行文件,该文件用于32位系统,用于python27查找与您对应的系统。运行可执行文件,它应该成功安装PyWin32,它与pyinstaller一起工作!
现在您已经拥有了PyInstaller和PyWin32,您可以开始创建单个可执行文件。单个可执行文件将在另一个名为“dist”的文件夹中创建,此文件夹也是在运行pyinstaller命令时动态创建的。为了清楚你的pyinstaller文件被你复制到另一个可能被称为“pyinstaller_files”文件夹的文件夹,所以现在在命令提示符下键入以下命令。
上面的命令将在pyinstaller_files文件夹中创建一个名为“dist”的文件夹,该文件夹将包含您的单个可执行文件“yourscript.exe”。您现在可以在您选择的位置移动单个可执行文件,并删除“dist”&带有“yourscript.spec”文件的“build”文件夹,因为它们不再需要运行您的单个可执行文件。
答案 2 :(得分:2)
使用py2exe。您可以将DLL放在与最终EXE相同的文件夹中,并且应该正确加载。
答案 3 :(得分:1)
看看pyinstaller。它应该为您找到(并相应地发布)这些依赖项。
答案 4 :(得分:1)
我使用以下每个工具从Python 2.7代码构建了exe文件:
这些都会产生一个独立的exe。您的安装人员必须包含必要的CRT dll。您的最终结果将与典型用户的任何其他exe无法区分。
前两个首先编译为C,然后使用您安装的任何编译器将其编译为最终的exe。 Py2Exe将Python和所有.pyo文件捆绑到一个zip中,它嵌入到exe中。启动时,它会解压缩到temp目录并从那里运行python。您需要将您的dll添加到.spec文件中,以便它包含在zip资源中。或者,在exe旁边安装你的dll并使用python中的绝对路径加载它。
答案 5 :(得分:0)
cx_Freeze也是一个很好的。
cx_Freeze是一组用于将Python脚本冻结为可执行文件的脚本和模块
答案 6 :(得分:0)
PyInstaller是最好的选择,因为它在Windows和Linux上运行良好。
如果您使用的是 arch linux ,请使用以下链接:PyInstaller或尝试yaourt pyinstaller
。