首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过终端使用Pyinstaller编译python脚本

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

Stack Overflow用户
提问于 2018-05-04 00:16:45
回答 2查看 798关注 0票数 4

我使用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'

我该如何解决这个问题?谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-05-04 03:31:16

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

代码语言:javascript
代码运行次数:0
运行
复制
conda update conda

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

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

票数 3
EN

Stack Overflow用户

发布于 2019-04-15 02:22:25

conda update conda不适用于我,所以我将在这里发布我的解决方案。

首先,转到python交互式shell,执行

代码语言:javascript
代码运行次数:0
运行
复制
$ python
>> import sysconfig
>> print(sysconfig.__file__)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50159662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档