我一直在尝试安装python-poppler-qt4
,但显示错误ModuleNotFoundError: No module name sipdistutils
。
当我尝试安装sipdistutils
时,它再次显示错误。
答案 0 :(得分:1)
我在这里发现了一个类似的问题:https://github.com/wbsoft/python-poppler-qt5/issues/14
我认为sipdistutils
应该是sip
软件包的一部分。请验证是否已安装:
$ pip freeze | grep sip
sip==4.19.1
如果没有输出,请安装pip install sip
。
如果这无法解决某些建议的解决方案:
似乎sip的pip版本未安装sipdistutils。要从源代码安装它,可以执行以下操作:
wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.3/sip-4.19.3.tar.gz tar zxvf sip-4.19.3.tar.gz cd sip-4.19.3 python configure.py make make install
您可以从Riverbank的辅助服务器(即here)中获取sipdistutils.py。它是独立的。只需将其放入您的Python site-packages文件夹
答案 1 :(得分:0)
确实,使用sipdistutils
来构建python扩展不再是做事的方法。因此,绝对的解决方法是修改程序包的生成过程,但是由于我无法控制该程序(尽管我可能会尝试找时间为该项目做出贡献),所以我确实找到了解决方法。
在我们的例子中,在Ubuntu 20.04上,我们使用pyenv
和virtualenv
插件为我们的应用程序创建虚拟环境,并且在这些环境中遇到了问题。仔细研究一下,发现如果您的构建路径中有三个源文件,则可以使其正常工作:
sipdistutils.py
(apt,v4.19.21)提供的python3-sip-dev
sipconfig.py
(apt,v4.19.21)提供的python3-sip
sipconfig_nd8.py
提供的python3-sip
(apt,v.419.21)注意:v4.19,这些文件在较新版本的sip中不存在
现在,如果我们使用的是apt安装的python,只需使用apt
安装就足够了,因为我们没有,我只是将这三个文件从其默认安装位置复制到了我们使用的自定义路径中通过PYTHONPATH
。