我想制作一个Python应用程序的可执行文件(.exe)。
我想知道如何实现,但需要注意的是:我使用了一个C++ DLL!
我需要将DLL与.exe文件放在一起,还是还有其他方法?
我想制作一个Python应用程序的可执行文件(.exe)。
我想知道如何实现,但需要注意的是:我使用了一个C++ DLL!
我需要将DLL与.exe文件放在一起,还是还有其他方法?
py2exe可以生成单文件可执行程序。请查看此链接了解示例。
我使用的setup.py使用以下选项组合:
'compressed': 1,
'optimize':2,
'bundle_files': 1
我通常将外部dll(例如msvcr71.dll)添加到可执行文件所在的同一文件夹中。
为了方便分发和在生成exe后自动安装,您可以使用Inno Setup创建一个安装程序,将您的exe,dll和其他文档(readme等)放入应用程序目录中。
按照以下步骤进行操作:您可以在此网站中找到此文档。
假设您已经在此目录c:\PythonXX\Scripts中安装了PIP,如果没有,请转到此网站并查看有关如何“安装Python索引项目(PIP)”的说明。进入命令提示符并键入以下命令。
转到此站点并查找名为pywin32-218.win32-py2.7.exe 2.7的可执行文件,它适用于python27的32位系统,请查找与您相对应的版本。运行可执行文件,它应该可以成功安装与pyinstaller配合使用的PyWin32!
现在,您已经安装了PyInstaller和PyWin32,可以开始创建单个可执行文件。单个可执行文件将在另一个名为“dist”的文件夹中创建,当您运行pyinstaller命令时,该文件夹也会动态创建。为了清楚起见,您的pyinstaller文件已被复制到另一个文件夹中,可能称为“pyinstaller_files”文件夹,因此现在在命令提示符中键入以下命令。
上述命令将在pyinstaller_files文件夹内创建一个名为“dist”的文件夹,其中包含您的单个可执行文件“yourscript.exe”。您现在可以将单个可执行文件移动到任何您选择的位置,并删除“dist”和“build”文件夹以及“yourscript.spec”文件,因为它们不再需要运行您的单个可执行文件。
我已经使用以下这些工具从 Python 2.7 代码构建了 exe 文件:
它们都将产生一个独立的 exe 文件。你的安装程序必须包括所需的 CRT dlls。对于普通用户而言,你的最终结果与任何其他 exe 文件无异。
前两个先编译为 C,然后使用你安装的任何编译器将其编译为最终的 exe 文件。Py2Exe 将 Python 和所有.pyo 文件捆绑到一个zip文件中,然后将其嵌入到 exe 文件中。启动时,它会将文件解压缩到临时目录并从那里运行 Python。你需要将你的dll添加到 .spec 文件中,以便将其包含在zip资源中。或者,将你的dll文件与exe文件放置在同一目录下,并在Python中使用绝对路径来加载它。
PyInstaller是最佳选择,因为它在Windows和Linux上都能很好地工作。
如果您正在使用arch linux,请使用此链接:PyInstaller或尝试yaourt pyinstaller
。
cx_Freeze 也是一个不错的选择。
cx_Freeze 是一组用于将 Python 脚本冻结为可执行文件的脚本和模块。