我使用macOS和Anaconda3来管理我的库和编写脚本。
我想为我的脚本创建一个可执行文件。
我在终端中使用Pyinstaller来运行命令:
pyinstaller --onefile /Directory/file.py
但是,终端返回以下错误:
File "/anaconda3/lib/python3.6/site-packages/PyInstaller/hooks/hook-sysconfig.py", line 42, in <module> hiddenimports = [sysconfig._get_sysconfigdata_name()] TypeError: _get_sysconfigdata_name() missing 1 required positional argument: 'check_exists'
我该如何解决这个问题?谢谢你的帮助。
发布于 2018-05-04 03:31:16
这是Anaconda旧版本中的一个已知问题。您可以尝试更新Anaconda (在conda终端中):
conda update conda
您还可以尝试从.spec文件的hiddenimports
列表中删除sysconfig._get_sysconfigdata_name()
,而在.py文件中添加import sysconfig
。
pyinstaller github页面上的以下问题文档可能会有进一步的帮助:https://github.com/pyinstaller/pyinstaller/issues/3192
发布于 2019-04-15 02:22:25
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
。
https://stackoverflow.com/questions/50159662
复制相似问题