1

私は初心者で、英語はあまり上手ではありませんが、ここに行きます: 私の PC には最新の Arch Linux があり、昨日、C++ コードをラップするための Python コード ジェネレーターである SIP をインストールしようとしました。仮想環境下に SIP と PyQt4 をインストールしてみました。AUR から SIP を入手し、次のようにインストールしました。

http://lucacerone.net/2013/08/installing-pyqt4-and-sip-in-a-virtual-environment-ubuntu-1204/#.Uyx-dGd_phF/

公式の SIP ドキュメント Web サイトで、インストールする場所とディレクトリがわからなかったため、このようにしました。ドキュメントは私にとって明確ではありませんでした。私は今、それが非常にばかげた考えだったことを知っています:

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

Arch Linuxフォーラムに英語とドイツ語で書いたので、アンインストールするだけで答えがなかったので、とてもイライラしています。

どうすればいいの?ここのアドバイスに従う必要があります: http://lucacerone.net/2013/08/installing-pyqt4-and-sip-in-a-virtual-environment-ubuntu-1204/#.Uyx-dGd_phF/

PyQt5 を以下に統合する必要があります。

full/virtualenv/path/build/PyQT5

に既に存在するため、

lib/python3.3/site-packages/PyQt5.

4

2 に答える 2

2

Arch Linux を初めて使用し、何をしているのかよくわからない場合: これらのパッケージを手動でインストールしないでください!

パッケージに頼ることができ[core]/[community]、一部のパッケージが公式にサポートされていない場合は AUR に頼ることができます。

最初: なぜこれらを virtualenv にインストールしたいのですか? あなたがやろうとしていることに本当に仮想環境が必要ですか? また、Arch Linux を使用している場合は、Ubuntu のチュートリアルにやみくもに従わないでください。これらは通常、適応されていないためです... Ubuntu ユーザーは、ソフトウェアの最新機能を取得するために手を汚す必要があります。Arch ユーザーではありません (勝利のためのローリング リリース)。

2番目:次のエラー

RuntimeError: sip モジュールは API v11.0 を実装していますが、PyQt4.QtCore モジュールには API v10.1 が必要です

PyQt4.QtCore最後の SIP 更新後に再コンパイルされていないことを意味します。パッケージを再コンパイルするだけで問題は解決します。公式の Arch パッケージを使用している場合、この種のエラーは発生しないことに注意してください。

そのため、Arch Linux に Python 3 で PyQt5 をインストールする場合は、最初に、衝突を防ぐために virtualenv で行ったことをすべて削除してから、次のようにします。

sudo pacman -S python-pyqt5 sip

その後、実行python file.pyすると、適切にインストールされた公式パッケージで Python 3 が呼び出されます。

于 2014-04-07T09:36:21.080 に答える
-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 が必要

PyQt5 ディレクトリの内容を教えてください。私と比較するだけです。

PyQt5のインストールではsip-4.5.15が必要で、最新バージョンが利用可能であるため、これはバグだと思います。

... または、PyQt5 は別の sip を使用しますが、そのような構成に関する情報を見つけることができません。

さらに、sip パッケージとそれに対応する API レベルに関する情報をウェブ上で見つけることができません。

インストールの失敗と分析の進行状況をここに記録します: http://www.hznteam.fr:5000/trac-bubble/ticket/102

あなたとして私はより多くの情報を待っています。

于 2014-03-23T11:32:47.063 に答える