Python 3.x OSX Catalina上的Pyinstaller失败:找不到pyconfig.h

Python 3.x OSX Catalina上的Pyinstaller失败:找不到pyconfig.h,python-3.x,pyinstaller,macos-catalina,Python 3.x,Pyinstaller,Macos Catalina,卡塔琳娜似乎最终放弃了蟒蛇2.7;并添加对python3的支持;这是个好消息 不太好的消息是,苹果决定制作一个“定制”版本的python3,安装Xcode开发工具。 这样做的缺点是,使用Pyinstaller在Catalina上构建可执行文件会导致错误,因为Pyinstaller无法找到pyconfig.h 该文件包含在python3-dev包中,OSX-dev工具安装的python3版本中似乎不存在该文件。我试图运行pip3安装python3-dev,这将返回一个错误,说没有这样的包。我能够找

卡塔琳娜似乎最终放弃了蟒蛇2.7;并添加对python3的支持;这是个好消息

不太好的消息是,苹果决定制作一个“定制”版本的python3,安装Xcode开发工具。 这样做的缺点是,使用Pyinstaller在Catalina上构建可执行文件会导致错误,因为Pyinstaller无法找到pyconfig.h

该文件包含在
python3-dev
包中,OSX-dev工具安装的python3版本中似乎不存在该文件。我试图运行
pip3安装python3-dev
,这将返回一个错误,说没有这样的包。我能够找到
pythondev
,但即使安装这个包(我假设是它的python2版本),也不能解决pyinstaller中的构建问题


如何在Catalina上使用pyinstaller?我得到的唯一建议是使用brew并从那里安装python3,考虑到我已经用开发工具安装了python3,而且我找不到方法完全删除它,目前这是一项相当艰巨的任务。

@rataplan-我最近遇到了同样的问题。通过查看以下youtube视频,我已通过Xcode和python3重新安装:

使用pip安装pyinstaller

生成exec应用程序:
python-m PyInstaller yourfilename.py

您只需创建一个指向include路径的符号链接即可解决此问题

ln -s /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/Headers /Library/Python/3.8/include
PyInstaller正在此处尝试查找包含路径:

/Library/Python/3.8/include
但是Xcode提供的python3使用自定义路径,好消息是包含路径就在这里:

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/Headers