如何将python .py文件转换为可执行文件以供跨平台使用?

时间:2012-08-11 14:20:53

标签: python exe py2exe cx-freeze pyinstaller

我已经搜索了一段时间,现在试图找到答案,但由于我对编程经验不足,我对文档知之甚少,也没有足够的信心去尝试太多。

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

运行Vista 32bit,python 2.7

4 个答案:

答案 0 :(得分:12)

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

  1. 将解释器和* .pyc文件打包到一个exe文件容器中。这种方法由PyInstallerPy2execx_freeze等工具使用。
  2. 从Python源创建本机代码,通常使用将Python-source转换为C或C ++代码的中间步骤。这是通过Shed-skinNuitka等工具完成的。这种方法的问题是这些工具并不总是支持Python的所有功能(例如,它们可能有一些打字限制等等)
  3. 您必须开始阅读文档。这些工具不仅仅是推送式运行工具,它们通常还有一些必须实现的配置(这可能是所有构建系统的问题,随着项目的增长,钩子的配置和数量也会增长)。 p>

    您可以从Py2exe tutorial和'hello-world'开始,以熟悉编译的完成方式。据我所知,这是实现目标的最简单方法。

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

答案 1 :(得分:3)

  1. 下载 py2exe
  2. 下载此msvcp90.dll
  3. FileCode.py AND msvcp90.dll 复制到C:\ Python27 \
  4. 在C:\ Python27 \中创建新的文本文件,然后在其中输入此代码:
  5. from distutils.core import setup
    import py2exe
    setup(console=['Avril.py'])
    
    1. Avril.py 替换为 YourFileName.py
    2. 将文件另存为 setup.txt
    3. 打开 CMD 并输入:
    4.   

      cd C:\ Python27 \
        python setup.txt py2exe

      1. 现在转到C:\ Python27 \ dist \,然后是 .exe 程序。
      2. 来源:Manvir Singh

答案 2 :(得分:1)

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

sym.imp.malloc

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

linux的详细说明是here

答案 3 :(得分:1)

安装pyinstaller,一个将.py转换为.exe for 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的人。希望它有所帮助。