저는 Linux Ubuntu 14.04 LTS를 실행 중이고 Python에서 GUI를 개발할 수 있도록 wxPython을 설치하려고 합니다.
Python 2.7과 3이 설치되어 있지만 기본적으로 2.7이 설치되어 있습니다.
웹사이트에서 권장하는 대로 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.8
및dpkg -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) 분명히 그는 두 가지 버전의 Python 2.7이 설치되어 있습니다. 그 중 하나인 2.7.6은 시스템(Ubuntu 바이너리 패키지) 버전이고, 다른 하나(2.7.5)는 /usr/local
.
그는 python
2.7.5를 선택했고 ipython
Idle은 2.7.6을 선택했습니다. wxpython 패키지는 바이너리 패키지에서 설치되기 때문입니다. 통역사는 python
그것을 볼 수 없습니다. 왜 ipython
하나를 본 다음 python
다른 하나를 보았는지는 확실하지 않습니다 . 어쩌면 python
로컬에도 설치할 수도 있습니다.
포스터는 현시점에서 무엇을 해야할지 모르고 조언을 해주기도 어렵습니다. 자연스러운 일은 로컬 설치를 제거하는 것이지만, 이를 위해서는 먼저 설치가 어떻게 이루어졌는지, 어떤 패키지가 설치되었는지, 중요한 종속성이 있는지 여부를 이해해야 합니다.
답변2
세 가지 이유가 있을 수 있습니다.
- Ubuntu의 패키지가 손상되었거나 구성되지 않았습니다. 첫 번째는 가능성이 낮습니다. 아마도 어딘가에 버그 보고서일 것입니다. 두 번째는 dpkg가
ii
설치된 패키지를 보고하기 때문에 잘못된 것입니다. - 모듈을 설치하기 전에 열린 대화형 Python 셸을 사용하고 있습니다. 이것이 가장 가능성이 높은 이유입니다. 셸을 닫았다가 다시 열면 작동합니다.
- 시스템 Python 바이너리를 사용하고 있지 않습니다. 여기에는 pip, virtualenv 또는 소스에서 수동 설치가 포함됩니다.