1

假设我有一个用于计算器应用程序的 main.py。我为不同的函数使用了不同的 .py 文件(add.py 用于加法,mul.py 用于乘法),所有这些文件都导入到 main.py 中。当我单击 main.py 时,它会成功执行并执行所有功能,例如添加、mul 等。我要做的是为 main.py 创建一个可执行文件,以便我可以在没有安装 python 的计算机上运行它或任何该模块(add.py,..)存在于硬盘中。那可能吗??谢谢您的帮助

最后我得到了解决方案。PyInstaller 在我的情况下运行良好,而且也很容易使用。感谢您的帮助。(:

4

4 回答 4

2

我没有 Python 的经验,但是一个简单的谷歌搜索出现了 py2exe

至于独立于操作系统,这是不可能的,这就是解释器的全部意义所在。代码写一次就可以在任何地方运行,但是一旦你编译它,你必须为特定平台编译它

于 2012-11-21T15:51:36.213 回答
1

不可能有在任何操作系统上运行的独立可执行文件,这就是 Python 是解释型语言的原因。您可以做的是使用 pyinstaller 将 Python 脚本编译为您希望它在其上运行的每个操作系统上的可执行文件,这样您就有了一堆不同的独立程序,用于不同的操作系统,它们都构建在同一个 Python 脚本上。

Pyinstaller 比 py2exe 有一个优势,因为它更容易将所有脚本编译到一个文件中,而不是一个目录。

于 2012-11-21T16:00:33.957 回答
1

除了嵌入代码和 Python 可执行文件(如 py2exe 那样)之外,还有其他一些可能的选项(尽管我没有尝试过其中任何一个)。

  • Cython 编写并使用编译器为所有目标平台生成可执行文件
  • 用Jython编写并生成 .class 文件并在 JVM 上运行
  • 用IronPython编写并在 .NET/Mono 上运行
于 2012-11-21T16:02:58.587 回答
0

就像其他人之前提到的那样,不可能为多个操作系统创建一个可执行文件。如果您的问题是我如何理解它,尝试捆绑几个在主 .py 文件中使用的 .py 文件,那么是的,这可以通过py2exe实现。您需要创建一个setup.py包含以下内容的文件:

from distutils.core import setup
import py2exe, sys, os

includes = ['add.py', 'mult.py', 'div.py', 'subt.py']
dll_excludes = ['mswsock.dll', 'powrprof.dll',]

setup(
        console=[{
                'script': 'math.py',
                'name': 'Calculator',
                'version': '1.0',
                'description': 'Basic calculator',
                'author': 'Firstname Lastname'
        }],
        options={
                'py2exe': {
                        'includes': includes,
                        'dll_excludes': dll_excludes,
                        'bundle_files': 1,  # 1 = .exe; 2 = .zip; 3 = separate
                }
        },
        zipfile=None,  # Put libs into .exe to save space.
)

将其保存为之后,您可以通过运行该文件setup.py来创建您的 .exe 。setup.py

于 2012-11-21T17:53:08.117 回答