【问题标题】:How do I convert a Python program to a runnable .exe Windows program? [duplicate]如何将 Python 程序转换为可运行的 .exe Windows 程序? [复制]
【发布时间】:2012-05-22 12:04:24
【问题描述】:

我正在寻找一种不使用 py2exe 将 Python 程序转换为 .exe 文件的方法。 py2exe 说它需要 Python 2.6,它已经过时了。有没有办法让我可以分发我的 Python 程序而无需最终用户安装 Python?

【问题讨论】:

  • According to thispy2exe可以支持2.6、2.7、3.0、3.1只要你能提供MSVCR90.dll
  • 我在 2.7.2 和 2.7.3 中使用过 py2exe。
  • 我无法发表评论,但出于安全原因,我需要提醒人们注意这一点。 Virus Total 将 PyInstaller 标记为 7 种不同的病毒,并且校验和不匹配。 不要在 2016 年 9 月 21 日格林威治标准时间 22:56 -5:00 下载。 我不得不发布此内容,因为它在多个答案中被推荐,包括所选的一个。我只是在搜索时发现了这个问题和答案,并且几乎按照建议使用了 PyInstaller,然后才意识到我可能应该先扫描它。我很高兴我采取了这些预防措施。

标签: python exe


【解决方案1】:

了解 Python 的每个“冻结”应用程序都不会以任何方式真正保护您的代码。每个独立可执行 Python“程序”的打包系统都将包含大量 Python 库和解释器,这将使您的程序变得非常大。

也就是说,PyInstaller 已经完成了几乎完美无瑕的工作。目前它仅支持 Python 2.7,但 Pyinstaller 对各种大大小小的库的支持在其他 Python 的“冻结”类型程序中是无法比拟的。

【讨论】:

  • 这似乎可以正常工作。但我对如何设置它有点困惑。您可以给我一个链接或一些简单的说明吗?感谢@PenguinCoder 以及所有回答我问题的人
  • @bolharr2250 StackOverflow“Pyinstaller 教程”问题! Pyinstaller manual on getting started 是最好的起点。
【解决方案2】:

我使用 cx_Freeze。适用于 Python 2 和 3,我已经对其在 Windows、Mac 和 Linux 上的工作进行了测试。

cx_Freeze:http://cx-freeze.sourceforge.net/

【讨论】:

    【解决方案3】:

    有些人对 PyInstaller 的评价很好

    http://www.pyinstaller.org/

    【讨论】:

    • 我还尝试将具有许多第 3 部分库的 python (2.7.3) 项目转换为具有 py2exe 的可执行文件,但没有成功!比我尝试的 pyinstaller(安装需要更多的精力)而且一切都像魅力一样!
    【解决方案4】:

    我在 Python 3.2 中使用了 cx-freeze,效果很好

    【讨论】:

      【解决方案5】:

      如果是简单的py脚本 参考here

      图形用户界面:

      $ pip3 install cx_Freeze

      1) 创建一个 setup.py 文件,并将其放在与要转换的 .py 文件相同的目录中。

      2) 将以下行复制粘贴到 setup.py 中,并将“filename.py”更改为您指定的文件名。

      from cx_Freeze import setup, Executable
      setup(
          name="GUI PROGRAM",
          version="0.1",
          description="MyEXE",
          executables=[Executable("filename.py", base="Win32GUI")],
          )
      

      3) 运行 setup.py "$python setup.py build"

      4) 那里会有一个名为“build”的新目录。在其中,您将准备好直接启动您的 .exe 文件。 (确保将图像文件和其他外部文件复制粘贴到构建目录中)

      【讨论】:

        【解决方案6】:

        py2exe 适用于 Python 2.7(以及其他版本)。你只需要MSVCR90.dll

        http://www.py2exe.org/index.cgi/Tutorial

        【讨论】:

          【解决方案7】:

          我过去使用过py2exe,对此非常满意。不过,我并不是特别喜欢使用cx-freeze

          【讨论】:

            【解决方案8】:

            为此,您有两种选择:

            • 降级到 python 2.6。这通常是不可取的,因为它是回溯并且可能会使您的一小部分脚本无效
            • 您的第二个选择是使用某种形式的exe 转换器。我推荐pyinstaller,因为它似乎有最好的结果。

            【讨论】:

              【解决方案9】:

              还有另一种方法可以将 Python 脚本转换为 .exe 文件。你可以compile Python programs into C++ programs,它可以像任何其他 C++ 程序一样进行本地编译。

              【讨论】:

                猜你喜欢
                • 2013-12-02
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-04-21
                • 1970-01-01
                • 1970-01-01
                • 2011-04-26
                相关资源
                最近更新 更多