【发布时间】:2018-07-19 10:53:15
【问题描述】:
我一直在尝试安装python-poppler-qt4,但它显示ModuleNotFoundError: No module name sipdistutils 的错误。
当我尝试安装sipdistutils时,它再次显示错误。
错误信息
【问题讨论】:
我一直在尝试安装python-poppler-qt4,但它显示ModuleNotFoundError: No module name sipdistutils 的错误。
当我尝试安装sipdistutils时,它再次显示错误。
错误信息
【问题讨论】:
我在这里发现了一个类似的问题: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 的 mercurial 服务器(即 here)获取 sipdistutils.py。它是独立的。只需将其放入您的 Python 站点包文件夹中
【讨论】:
确实,使用sipdistutils 构建python 扩展不再是做事的方式。因此,绝对的解决方法是修改包的构建过程,但由于我无法控制它(尽管我可能会尝试找时间为项目做出贡献),我确实找到了解决方法。
在我们的例子中,在 Ubuntu 20.04 上,我们使用 pyenv 和 virtualenv 插件为我们的应用程序创建虚拟环境,而正是在这些环境中我们遇到了问题。稍微挖掘了一下,发现如果你的构建路径中有三个源文件,它就可以工作:
sipdistutils.py 由 python3-sip-dev 提供(apt,v4.19.21)sipconfig.py 由 python3-sip 提供(apt,v4.19.21)sipconfig_nd8.py 由 python3-sip 提供(apt,v.419.21)注意:v4.19,这些文件在新版本的 sip 中不存在
现在,如果我们使用 apt 安装的 python,只需使用 apt 安装就足够了,因为我们不是,我只是将这三个文件从它们的默认安装位置复制到我们通过 @ 使用的自定义路径987654331@.
【讨论】: