15

我已经通过 SO 搜索了一段时间,现在试图想出一个答案,但由于我没有编程经验,我不太了解文档,也没有足够的信心进行过多的实验。

谁能用稍微简单的术语来描述我将如何使用 Py2exe、PyInstaller、cx_freeze 等程序?我只是想让其他人(主要是朋友)能够运行我的(简单的,纯文本的)程序,而不必自己下载 python。如果有更简单的方法可以做到这一点,我也会很高兴知道这一点。

运行 Vista 32 位,python 2.7

4

4 回答 4

12

有两种不同的方法可以冻结 python 脚本来创建可执行文件:

  1. 将解释器和 *.pyc 文件打包到一个 exe 文件容器中。PyInstallerPy2execx_freeze等工具使用这种方法。
  2. 从 Python 源代码创建本机代码,通常使用将 Python 源代码转换为 C 或 C++ 代码的中间步骤。这是通过Shed-skinNuitka等工具完成的。这种方法的问题是这些工具并不总是支持 Python 的所有功能(例如,它们可能有一些类型限制等)

您必须开始阅读文档。这样的工具不仅仅是push-and-run风格的工具,它们通常有一些必须实现的配置(这可能是所有构建系统的问题,并且随着项目的增长,钩子的配置和数量也在增长)。

您可以从Py2exe 教程和“hello-world”开始了解编译是如何完成的。据我所知,这是实现目标的最简单方法。

最后一件事,你不能创建跨平台的本机可执行文件,因为它们的文件格式强烈依赖于操作系统和硬件

于 2012-08-11T14:27:51.790 回答
4
  1. 下载py2exe
  2. 下载这个msvcp90.dll
  3. 将您的FileCode.py msvcp90.dll复制到 C:\Python27\
  4. 在 C:\Python27\ 创建新的文本文件,然后在其中输入以下代码:
from distutils.core import setup
import py2exe
setup(console=['Avril.py'])
  1. Avril.py替换为YourFileName.py
  2. 将文件另存为setup.txt
  3. 打开CMD并输入:

cd C:\Python27\
python setup.txt py2exe

  1. 现在去 C:\Python27\dist\ 那里有你的.exe程序。

资料来源:曼维尔·辛格

于 2015-07-29T20:37:07.077 回答
1

安装 pyinstaller,这是一个将 .py 转换为 .exe 的程序,适用于 python 2.7 到 python 所在的位置:

cd C:\python27\scripts
pip install pyinstaller

然后将要编译的任何 python 文件移动到 C:\python27\scripts,使用以下命令从那里编译:

pyinstaller --onefile yourfile.py

--onefile 是可选的,但它将整个内容(在本例中为 yourfile.py)打包到一个 .exe 中。一切完成后,将有 2 个新文件夹以及一个 .spec 文件。从 C:\python27\scripts 打开文件夹 dist。您的 .exe 将位于一个文件中,您可以双击该文件来执行并分发给没有 python 的任何人。希望能帮助到你。

于 2017-10-09T13:49:20.403 回答
1

通过将 python 环境路径放在脚本文件的顶部,可以使 Python 脚本像 shell 脚本一样直接可执行。

#!/usr/bin/env python3.5 

Python 安装程序会自动将 .py 文件与 python.exe 关联,以便双击 Python 文件将其作为脚本运行。扩展名也可以是 .pyw,在这种情况下,通常出现的控制台窗口会被抑制。

linux 的详细描述也在这里

于 2017-08-03T07:17:28.240 回答