gpt4 book ai didi

python - 如何使用 pyinstaller 将包转换为 exe?

转载 作者:可可西里 更新时间:2023-11-01 09:36:38 25 4
gpt4 key购买 nike

我有一个开源的 python 命令行程序,它可以在 Python 2.7、Python3+ 上运行,并且是跨平台的。

我正在尝试更轻松地将它打包成可执行文件供我的 Windows 用户使用。这个包的源代码在 Github 上:https://github.com/stormpath/stormpath-cli

我正在尝试使用 pyinstaller 打包我的 Python 程序,但遇到了问题。

我正在从 Windows 8 机器上运行以下命令:

$ pyinstaller --onefile setup.py

这成功地为我生成了一个 EXE 文件,但是当我运行它时,出现以下错误:

Traceback (most recent call last):
File "setup.py", line 4, in <module>
File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\setuptools\__init__.py", line 160, in <module>
File "site-packages\setuptools\monkey.py", line 93, in patch_all
File "site-packages\setuptools\monkey.py", line 145, in patch_for_msvc_specialized_compiler
File "importlib\__init__.py", line 37, in import_module
ImportError: No module named msvc
Failed to execute script setup

出于测试目的,为了帮助缩小问题范围,我创建了一个包含以下代码的 test.py 脚本:

print('hello, world!')

然后也打包成一个exe:

$ pyinstaller --onefile test.py

当我运行生成的 exe 时,一切正常! Hello world 按预期输出。

我相信发生的事情是我没有告诉 pyinstaller 如何正确地“检测”我的项目是 python 包,而不是单个文件脚本。

我通读了很多文档,并四处搜索,但没有找到一种方法来指定一个包供 pyinstaller 分析。

我错过了什么?

最佳答案

虽然我认为这是一件非常合理的事情,但看起来 PyInstaller 根本不支持从包(使用 __main__.py)构建应用程序。

参见 https://github.com/pyinstaller/pyinstaller/issues/2560 .

作为一种变通方法,您可以编写一个小 stub (在程序包之外)来执行与您的 __main__.py 相同的事情。然后将 PyInstaller 指向那个。

关于python - 如何使用 pyinstaller 将包转换为 exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com