我刚刚将我的机器升级到 OpenSuSE Leap 15.5。为了安装名为 DisplayCAL 的基于 Python 的应用程序,我需要设置最新版本的 Python、wxWidgets 和 wxPython 绑定。Python 3.11 已安装:
╭─jacek@epica ~
╰─➤ rpm -q python311-base
python311-base-3.11.2-150400.9.5.6.x86_64
…还有 wxWidgets:
╭─jacek@epica ~
╰─➤ rpm -qa | grep wxWidgets
wxWidgets-3_2-devel-3.1.5-150400.1.7.x86_64
但不幸的是,pip
拒绝安装wxPython
...
╭─jacek@epica ~
╰─➤ pip install wxPython --verbose
…由于缺少wx/setup.h
文件:
In file included from ../../../../ext/wxWidgets/include/wx/defs.h:45:0,
from ../../../../ext/wxWidgets/include/wx/wx.h:14,
from ../../../../wx/include/wxPython/wxpy_api.h:41,
from ../../../../sip/cpp/sipAPI_core.h:22068,
from ../../../../sip/cpp/sip_corewxZoomGestureEvent.cpp:10:
../../../../ext/wxWidgets/include/wx/platform.h:159:10: fatal error: wx/setup.h: No such file or directory.
#include "wx/setup.h"
^~~~~~~~~~~~
compilation terminated.
是的,我找到了platform.h
(/usr/include/wx-3.1/wx
并且它确实在第 159 行包含一个包含指令,因此它一定是我一直在寻找的文件),但我在这个文件夹中找不到它setup.h
。显然它不是wxWidgets-3_2-devel
包的一部分。
丢失的东西去哪儿找setup.h
?
更新: pkgs.org 参考中的相应页面告诉我有一个名为的文件/usr/lib64/wx/include/gtk2-unicode-3.1/wx/setup.h
,它是包的一部分wxWidgets-3_2-devel
。但:将此文件链接到/usr/include/wx-3.1/wx
没有帮助。显然,platform.h
(引发错误)不是位于 下的/usr/include/wx-3.1/wx
,但我在机器上找不到这样的头文件!pip 构建过程是否使用一些对普通用户不可见的影子文件?
答案1
浏览后Github 问题,我发现必要的头文件附带从 PyPi 下载的 tarball,所以我必须打开 tarball,然后将文件复制/ext/include/wx/setup_inc.h
到setup.h
同一个文件夹中。