[英]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.