python-wxgtk2.8をインストールした後でもwxをインポートできません。

python-wxgtk2.8をインストールした後でもwxをインポートできません。

私はLinux Ubuntu 14.04 LTSを実行しており、PythonでGUIを開発できるようにwxPythonをインストールしようとしています。

Python 2.7と3がインストールされていますが、デフォルトでは2.7がインストールされています。

Webサイトが推奨するようにwxPythonをインストールしました。

apt-get install python-wxgtk2.8

インストールされていると表示されますが、Python、2.7、3.0に移動してライブラリ(import wx)をインポートするとエラーが発生します。

>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named wx

実行結果apt-cache policy python-wxgtk2.8dpkg -l python-wxgtk2.8

kiancross@whb:/etc/apt$ apt-cache policy python-wxgtk2.8
python-wxgtk2.8:
  Installed: 2.8.12.1+dfsg-2ubuntu2
  Candidate: 2.8.12.1+dfsg-2ubuntu2
  Version table:
 *** 2.8.12.1+dfsg-2ubuntu2 0
        500 http://gb.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status
kiancross@whb:/etc/apt$ also dpkg -l python-wxgtk2.8

kiancross@whb:/etc/apt$ dpkg -l python-wxgtk2.8
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                   Version          Architecture     Description
+++-======================-================-================-==================================================
ii  python-wxgtk2.8        2.8.12.1+dfsg-2u amd64            wxWidgets Cross-platform C++ GUI toolkit (wxPython

私は確認しました/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py。以下のようにファイルがあります。私が実行すると、何が返されるかを確認できます。dpkg -S /usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py

kiancross@whb:/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx$ ls -a
.            calendar.py    _core.py    glcanvas.py   __init__.py   py              __version__.pyc  _wizard.so
..           calendar.pyc   _core.pyc   glcanvas.pyc  __init__.pyc  richtext.py     webkit.py        xrc.py
animate.py   _calendar.so   _core_.so   _glcanvas.so  lib           richtext.pyc    webkit.pyc       xrc.pyc
animate.pyc  combo.py       _gdi.py     grid.py       media.py      _richtext.so    _webkit.so       _xrc.so
_animate.so  combo.pyc      _gdi.pyc    grid.pyc      media.pyc     stc.py          _windows.py
aui.py       _combo.so      _gdi_.so    _grid.so      _media.so     stc.pyc         _windows.pyc
aui.pyc      _controls.py   gizmos.py   html.py       _misc.py      _stc.so         _windows_.so
_aui.so      _controls.pyc  gizmos.pyc  html.pyc      _misc.pyc     tools           wizard.py
build        _controls_.so  _gizmos.so  _html.so      _misc_.so     __version__.py  wizard.pyc
kiancross@whb:/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx$ dpkg -S /usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py
python-wxgtk2.8: /usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py
kiancross@whb:/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx$ 

kiancross@whb:~$ ipython
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
Type "copyright", "credits" or "license" for more information.

IPython 1.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import wx

In [2]: wx.__file__
Out[2]: '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.pyc'

なぜ動作しないのか知っている人はいますか?

答え1

チャットでポスターと会話をした後(fromhttp://chat.stackexchange.com/transcript/message/19959589#19959589)明らかに、彼は2つのバージョンのPython 2.7をインストールしています。そのうちの1つである2.7.6はシステム(Ubuntuバイナリパッケージ)バージョンで、もう1つ(2.7.5)は/usr/local

彼はpython2.7.5を選び、ipythonアイドルは2.7.6を選んだ。 wxpythonパッケージはバイナリパッケージからインストールされるためです。通訳者はpythonそれを見ることができません。なぜipython1つを見た後、もう1つpythonを見たのかはわかりません。たぶんpythonローカルにインストールすることもできます。

ポスターは現時点で何をすべきかわからず、アドバイスをするのも難しいです。当然のことはローカルインストールを削除することですが、これを行うには、まずインストールがどのように行われたのか、どのパッケージがインストールされているのか、そして重要な依存関係があるのか​​を理解する必要があります。

答え2

3つの理由があります。

  1. Ubuntuのパッケージが破損しているか構成されていません。最初は可能性が低いです。おそらくどこかにバグレポートがあります。 2つ目は、dpkgがインストールされているiiパッケージを報告するため、間違っています。
  2. モジュールをインストールする前に、開いている対話型Pythonシェルを使用しています。これが最も可能性の高い理由です。シェルを閉じて再度開くと機能します。
  3. システムPythonバイナリを使用していません。これには、pip、virtualenv、またはソースからの手動インストールが含まれます。

関連情報