我是新人,我的英语不是很好,但我在这里: 我在PC上安装了最新的Arch Linux,昨天我尝试安装SIP,这是一个用于包装C ++代码的Python代码生成器。 我试图在虚拟环境下安装SIP和PyQt4。 我从AUR获得SIP,并以这种方式安装:
我是这样做的,因为在官方的SIP文档网站上,我没有找到安装位置和目录。文档对我来说并不清楚。我现在知道了,这是一个非常愚蠢的想法,因为当我尝试使用:
运行pyhton脚本时python file.py
我收到错误是因为我使用的是Python 3.3.4:
[vain@chinchi2 python_programme]$ python test.py
Traceback (most recent call last):
File "test.py", line 25, in <module>
import matplotlib.pyplot as plt
File "/usr/lib/python3.3/site-packages/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/lib/python3.3/site-packages/matplotlib/backends/__init__.py", line 28, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/lib/python3.3/site-packages/matplotlib/backends/backend_qt4agg.py", line 13, in <module>
from .backend_qt4 import QtCore, QtGui, FigureManagerQT, FigureCanvasQT,\
File "/usr/lib/python3.3/site-packages/matplotlib/backends/backend_qt4.py", line 21, in <module>
import matplotlib.backends.qt4_editor.figureoptions as figureoptions
File "/usr/lib/python3.3/site-packages/matplotlib/backends/qt4_editor/figureoptions.py", line 13, in <module>
import matplotlib.backends.qt4_editor.formlayout as formlayout
File "/usr/lib/python3.3/site-packages/matplotlib/backends/qt4_editor/formlayout.py", line 51, in <module>
from matplotlib.backends.qt4_compat import QtGui,QtCore
File "/usr/lib/python3.3/site-packages/matplotlib/backends/qt4_compat.py", line 56, in <module>
from PyQt4 import QtCore, QtGui
RuntimeError: the sip module implements API v11.0 but the PyQt4.QtCore module requires API v10.1
我到底应该改变什么?我也尝试过:
sudo pacman -S pyqt5-common 5.2-1 [installed]
(python-pyqt5和python2-pyqt5之间共享的公共PyQt文件)和:
pacman -Sy python-qscintilla-common
也许存在错误的库依赖,我该如何解决?
喔,
我想安装PyQt5但是我遇到了同样的问题,我做了同样的错误:
python configure.py
make
sudo make install
在
full/virtualenv/path/build/SIP/sip-4.15.5/
我又遇到了同样的错误:
from PyQt4 import QtCore, QtGui
RuntimeError: the sip module implements API v11.0 but the PyQt4.QtCore module requires API v10.1
[vain@chinchi2 python_programme]$ python2 erstenprog.py
Traceback (most recent call last):
File "erstenprog.py", line 26, in <module>
import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot
我非常沮丧,因为我用英语和德语写到了linux论坛,我只是解压缩它没有答案。
我怎么会这样? 我应该遵循这里的建议: http://lucacerone.net/2013/08/installing-pyqt4-and-sip-in-a-virtual-environment-ubuntu-1204/#.Uyx-dGd_phF/
Shoul我将PyQt5集成在:
中 full/virtualenv/path/build/PyQT5
因为它已经存在于
中 lib/python3.3/site-packages/PyQt5
。
答案 0 :(得分:2)
如果您是Arch Linux的新用户并且不知道自己在做什么:请不要手动安装这些软件包!
如果某些软件包没有得到官方支持,您可以依赖[core]/[community]
软件包,也可以依赖AUR。
首先:你为什么要在virtualenv中安装这些?你真的需要一个virtualenv你计划做什么?此外,当您使用Arch Linux时,不要盲目地遵循Ubuntu教程,因为这些通常不适合... Ubuntu用户需要亲自动手才能获得其软件的最新功能。不是Arch用户(获胜的滚动版本)。
第二:出现以下错误
RuntimeError:sip模块实现API v11.0,但PyQt4.QtCore模块需要API v10.1
表示在上次SIP更新后未重新编译PyQt4.QtCore
。只需重新编译包就可以解决问题。请注意,如果您使用官方Arch软件包,则不会发生此类错误。
所以,如果你想在Arch Linux上用Python 3安装PyQt5,首先删除你在virtualenv中所做的任何事情以防止冲突,然后:
sudo pacman -S python-pyqt5 sip
之后,运行python file.py
将使用官方正确安装的软件包调用Python 3。
答案 1 :(得分:-1)
您是否尝试安装PyQt4或PyQt5?
正如您所指的那样
sudo pacman -S pyqt5-common 5.2-1 [installed]
并尝试导入PyQt4:
from PyQt4 import QtCore, QtGui
显然我们面临同样的错误:PyQt5 - SIP API 10 level error. API 11 required
您能否提供您的PyQt5目录内容?只是为了与我的比较。
我认为这是一个错误,因为在PyQt5安装中需要sip-4.5.15以及最新版本。
...或者PyQt5使用另一个sip,但我无法找到有关此类配置的任何信息。
此外,我无法在网上找到有关sip包及其相应API级别的信息。
我在这里记录安装失败和分析进度: http://www.hznteam.fr:5000/trac-bubble/ticket/102
因为我在等待更多信息。