【问题标题】:How to convert python .py file into an executable file for use cross platform?如何将 python .py 文件转换为可执行文件以供跨平台使用?
【发布时间】:2012-08-08 13:41:04
【问题描述】:

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

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

运行 Vista 32 位,python 2.7

【问题讨论】:

  • 我可能应该指定 - 是的,朋友们,这根本不是商业活动。

标签: python exe py2exe cx-freeze pyinstaller


【解决方案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 的任何人。希望对您有所帮助。

【讨论】:

    【解决方案2】:

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

    #!/usr/bin/env python3.5 
    

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

    对于 linux 的详细描述也是here

    【讨论】:

      【解决方案3】:

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

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

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

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

      最后一点,您不能创建跨平台的原生可执行文件,因为它们的文件格式高度依赖于操作系统和硬件

      【讨论】:

      • 我已经查看了所有这三个的文档,并尝试使用您已经提到的教程 - 我对教程没有任何运气,因为它告诉我应该发生的是't,而且我发现其他文档很难理解。很抱歉,我很抱歉,但我希望有人能够以更简单的方式提供解释/指南。
      • @Ricochet_Bunny,在我看来,py2exe 教程是最容易开始的解释,你可能需要花更多的时间来掌握它,没有什么是简单的)。
      • 好的,我再试一次。唯一的原因是我按照它告诉我的去做并没有得到相同的结果,我不知道为什么。
      • 在一个相关的问题上,是否可以只在用户的计算机上下载 Python IDLE 并让它在上面运行?还是 IDLE 需要 Python 包的其余部分才能工作?
      • 我设法弄清楚我所做的事情出了什么问题 - 我的 cmd 没有设置为文件所在的目录,而且我不知道它们需要设置。感谢您的帮助。
      【解决方案4】:
      1. 下载py2exe
      2. 下载这个msvcp90.dll
      3. 复制你的 FileCode.py AND 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 程序。

      来源:Manvir Singh

      【讨论】:

        猜你喜欢
        • 2022-01-19
        • 1970-01-01
        • 2021-10-24
        • 1970-01-01
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多