簡體   English   中英

在ubuntu上為python2和3安裝wxpython

[英]install wxpython for python2 and 3 on ubuntu

我正在運行Ubuntu 16,並且同時具有python 2和3。我已經下載了wxpython,它可與python2解釋器一起使用,但不能與3一起使用。我得到了

Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> 

Python 3.5.2 (default, Sep 14 2017, 22:51:06) 
[GCC 5.4.0 20160609] on linux
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'

我需要怎么做才能安裝python 3?

在Fedora 25上也出現了類似的情況,我可以在上面解決此問題。 在Ubuntu上,您的里程可能會有所不同。

首先請注意,wxPython有兩個主要版本,我們將其稱為wx3和wx4。 您可以通過import wx; print(wx.version())來標識您的運行版本import wx; print(wx.version()) import wx; print(wx.version()) Fedora 25上的版本字符串顯示為'3.0.2.0 gtk3 (classic)' ,即wx3品牌。 在sourceforge上,這些版本稱為“ wxPython”和“ wxPython4”,wxpython.org將wx4稱為“ phoenix”。

檢查wx3的源代碼,您會注意到wx3的語法與python3不兼容。 相反,wx4與python2.7和python3都兼容。

wx4在Fedora 25上似乎不可用,因此python3無法開箱即用地運行任何wx。 Ubuntu可能有或沒有相同的問題。

以下工作對我來說可以在python3虛擬環境中安裝wx4:

pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/fedora-26 wxPython

我想您的問題的答案是

pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 wxPython    

如果您需要將(py2,wx3)應用程序移植到python3,則明智的做法是創建一個中間步驟:(py2,wx3)->(py2,wx4)->(py3,wx4),並注意(py3, wx3)是不可能的。

創建(py2,wx4)環境對我來說比較麻煩,因為使用pip2運行時,上述pip install命令無法找到頭文件。

最終對我有用的是下載4.0.0b2源https://pypi.python.org/packages/bc/6f/f7bb525517557e1c596bf22ef3f242b87afaeab57c9ad460cb94b3b0714e/wxPython-4.0.0b2.tar.gz#md5=2e371620578f14d80d

並遵循構建說明https://github.com/wxWidgets/Phoenix/blob/master/README.rst ,從中我僅使用了構建命令python build.py dox etg --nodoc sip build

構建后,您需要告訴python2在哪里可以找到wx4庫。 最后,我通過創建一個virtualenv並創建一個符號鏈接來做到這一點:

/home/user/venv/lib/python2.7/site-packages/wx -> /home/user/downloads/wxPython/wxPython-4.0.0b2/wx

后一個目錄包含構建結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM