2014-10-08 221 views
9

我安裝了wxPython 3.0.1.1,但我無法import wx使用Python 3.4.1。我收到以下錯誤:如何使用wxPython for Python 3?

Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import wx 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'wx' 

不過,我可以import wx如果我(在我OS X 10.9默認安裝)使用Python 2.7

Python 2.7.5 (default, Mar 9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import wx 
>>> 

我如何使用wxPython的爲Python 3,具體爲Python 3.4.1?

+0

也許你需要手動模塊的位置添加到您的'SYS。路徑: 'sys.path.insert(「/ location/of/wx」)' 這裏是一個更詳細的描述:http://stackoverflow.com/questions/279237/import-a-module-from-一個相對路徑 – jotrocken 2014-10-08 07:27:34

+0

@jotrocken我怎麼能這樣做,它將永久? – Nick 2014-10-08 07:29:43

+0

http://stackoverflow.com/questions/3402168/permanently-add-a-directory-to-pythonpath – jotrocken 2014-10-08 07:31:24

回答

11

你有兩個安裝在您的機器上的不同蟒蛇(3.4.1和2.7.5)。不要指望能夠使用一個安裝在一個python中的軟件包(在python 2.7.5上的wxPython 3.0.1.1)自動在另一個python中使用。

此外wxPython(經典)不適用於Python 3.您需要wxPython Phoenix才能做到這一點。

編輯:建議的方法(通過@RobinDunn)安裝wxPython(鳳凰品種,這將在2.7和3,now hosted on PyPI工作)現在只是做:

pip install wxPython 

如果你有開發商安裝的版本,只是做了事前以下:

pip uninstall wxPython_Phoenix 

你可以嘗試安裝的the wxPython Phoenix snapshots一個在你的Python 3.4.1。但是,請注意,Phoenix不與經典版1000%兼容,重複使用經典代碼(but transitioning its doable並且值得)可能會遇到這種或那種呃逆。

您可以在下面的wxPython維基在以下鏈接的完整說明/描述:

Installing wxPython-Phoenix using pip

有幾個要點:

  • pip/setuptool夠新( > 6.xx /> 12.xx)

  • 該構建是「非官方」的,因此pip拒絕安裝它:基本上你需要在用pip安裝時添加--pre

  • 您放棄SSL驗證--trusted-host wxpython.org(在https現在正常工作的現代版本中不再需要)。對於Windows機器

完整的命令:

C:\python27\scripts\pip.exe install --upgrade --pre -f https://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

注意,這將安裝wxPython的鳳凰爲Python 2.7。

+0

爲了給@ nepix32的答案增加一點點,鳳凰的核心小部件被移植,但並非所有的定製小部件都是。如果你想使用wxPython的核心功能,那麼Phoenix應該爲你工作。 – 2014-10-08 13:04:46

+0

@MikeDriscoll你能否給我一些關於鳳凰城發展狀況的參考資料? – Nick 2014-10-10 11:47:28

+0

當然。你可以看看http://wiki.wxpython.org/ProjectPhoenix。我還建議通過wxPython-dev Google小組來查看。 – 2014-10-13 13:55:30

0

檢查您的sys.path以解釋:

import sys 
sys.path 

如果你沒有正確的鏈接到正確的目錄,它不會工作。

此外,檢查庫/站點包在你的Python目錄,以確保WX正確安裝在你的Python 3(應該開始與目錄「WX-3.0」)

+0

我不知道什麼是適當的鏈接到正確的目錄。 – Nick 2014-10-08 07:51:09

+0

你知道你的Python目錄嗎? 檢查該目錄,進入Lib,然後進入站點包。應該有一個以「wx-3.0」開頭的目錄。 這就是你正在尋找的那個。它在你的sys.path中嗎? – inirlan 2014-10-08 07:55:12

2

看起來,儘管版本號可能暗示wxPython尚未完全移植到Python 3。這就是爲什麼WX模塊沒有在這個SO進入加入到了Python 3的sys.path

您可以解決使用wxPython的在Python 2.7或看看:Still no wxPython for Python 3 (or 3.3) yet? 這是@ nepix32建議。

或者,使用另一個與Python 3一起使用的GUI庫。這是一個list

+1

wxPython 3.x與Python的命名約定無關。它遵循wxWidgets版本編號方案。另外,wxPython的Phoenix端口確實支持Python 3,但目前它不是完整的端口。 – 2014-10-08 13:03:27

+0

感謝您的有用信息+1 – Nick 2014-10-08 14:38:25

7

要在您的Python 3.4x中使用wxPython,您需要使用wxPython Phoenix - 正如其他人所指出的那樣。要安裝它,你可以這樣做:

pip install -U --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

注意在最後「/」和wxPython_Phoenix

+1

如果您使用'http'版本而不是'https',則會發出警告。 – JeromeJ 2016-08-02 14:13:29

0

也許給出的解決方案之前,早期的工作空間。但是,今天對我的工作(2017年6月1日)是:

pip install - U - - pre - f https://wxpython.org/Phoenix/snapshot-builds/ wxPython 

務必查看readme.txt這一個...