我已经用PyInstaller做了几天的实验。我的操作系统是FreeBSD 10.4,我使用Python3.6。当我从终端发出这个命令时,它可以正常工作:
# pyinstaller my_script.py但是这个命令有一个前所未有的副作用。当我写这个的时候:
if __debug__:
print("debug")我将“调试”打印到控制台,这意味着PyInstaller用调试符号编译脚本。
在寻找这个问题的解决方案时,我发现通过带有PyInstaller参数的Python解释器运行-O可以解决这个问题:
[root@bsd-pwb ~]# /usr/local/bin/python3.6 /usr/local/lib/python3.6/site-packages/PyInstaller/__main__.py my_script.py但这次,我明白了:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/PyInstaller/__main__.py", line 21, in <module>
from . import __version__
ImportError: cannot import name '__version__'我在这里做错什么了?如何让PyInstaller编译,并将“调试”设置为"False"?
发布于 2019-09-05 15:22:15
我建议您按原样尝试脚本,但是使用Python3.5Enviroment,您可以意识到pyinstaller在python3.5版本中比3.6版本更稳定。我有几个错误是您要注释的,最后它们都解决了,只需在python<=3.5上运行我的脚本
发布于 2020-02-28 15:45:18
从医生们中,您实际上可以通过使用另一种方法来使其工作:将PYTHONOPTIMIZE环境变量设置为非零值,在您的情况下:
PYTHONOPTIMIZE=1 pyinstaller myscript.pyhttps://stackoverflow.com/questions/50275777
复制相似问题