通过终端使用Pyinstaller编译python脚本

时间:2018-05-03 16:16:45

标签: python terminal executable pyinstaller

我正在使用macOS和Anaconda 3来管理我的库并编写脚本。

我想为我的脚本创建一个可执行文件。

我在终端中使用Pyinstaller来运行命令:

public void bitcalc() { var Bit1 = (bitvalue >> 14) | (bitvalue >> 15); if (Bit1 == 16384) getISO15031BitsLetter = "C"; else if (Bit1 == 32768) getISO15031BitsLetter = "B"; else if (Bit1 == 49152) getISO15031BitsLetter = "U"; else getISO15031BitsLetter = "P" ; }

但是,终端返回此错误:

pyinstaller --onefile /Directory/file.py

我该如何解决这个问题;谢谢您的帮助。

2 个答案:

答案 0 :(得分:3)

这是旧版Anaconda的一个已知问题。你可以尝试更新Anaconda(在conda终端):

conda update conda

您还可以尝试从.spec文件中的sysconfig._get_sysconfigdata_name()列表中删除hiddenimports,然后在.py文件中添加import sysconfig

pyinstaller github页面上的以下问题文档可能会有更多帮助: https://github.com/pyinstaller/pyinstaller/issues/3192

答案 1 :(得分:0)

conda update conda对我不起作用,因此我将在此处发布我的解决方案。

首先,转到python交互式shell,做

$ python
>> import sysconfig
>> print(sysconfig.__file__)

这应该为您提供文件sysconfig所在的位置。然后,您需要转到该文件并编辑源代码,对我来说是/opt/conda/envs/test/lib/python3.6/sysconfig.py,然后找到函数并更改_get_sysconfigdata_name的函数签名,我所做的就是使check_exists默认为True