我刚刚将我的机器升级到 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
了(它确实在第 159 行包含一个包含指令,所以它一定是我一直在寻找的文件),但我在这个文件夹中/usr/include/wx-3.1/wx
找不到。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 构建过程是否使用了一些普通用户不可见的影子文件?
在浏览完Github 问题后,我发现从 PyPi 下载的 tarball 附带了必要的头文件,因此我必须打开 tarball,然后将文件复制
/ext/include/wx/setup_inc.h
到setup.h
同一文件夹中。