Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在ubuntu上安装python2和Python3的wxpython_Python 3.x_Python 2.7_Ubuntu 16.04_Wxpython - Fatal编程技术网

Python 3.x 在ubuntu上安装python2和Python3的wxpython

Python 3.x 在ubuntu上安装python2和Python3的wxpython,python-3.x,python-2.7,ubuntu-16.04,wxpython,Python 3.x,Python 2.7,Ubuntu 16.04,Wxpython,我运行的是Ubuntu16,有Python2和Python3。我已经下载了wxpython,它可以与python2解释器一起工作,但不能与python2解释器一起工作。我明白了 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. >>>

我运行的是Ubuntu16,有Python2和Python3。我已经下载了wxpython,它可以与python2解释器一起工作,但不能与python2解释器一起工作。我明白了

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(默认,2017年9月14日,22:51:06)
[GCC 5.4.0 20160609]在linux上
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入wx
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为“wx”的模块

安装python 3需要做什么?

在Fedora 25上出现了类似的情况,我在Fedora 25上解决了这个问题。在Ubuntu上,您的里程数可能会有所不同

首先请注意,wxPython有两个主要版本,我们称它们为wx3和wx4。您可以通过
import wx;打印(wx.version())
。Fedora 25上的版本字符串为
'3.0.2.0 gtk3(经典版)
,即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)环境对我来说更麻烦,因为上面的
pip install
命令在使用pip2运行时找不到头文件

最终对我有用的是下载了4.0.0b2源代码

然后按照构建说明进行操作,从中我只使用了build命令
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

后一个目录包含构建的结果。

哦,亲爱的。不知道我做了什么(可能重新安装)它已经工作了一段时间了:(
/home/user/venv/lib/python2.7/site-packages/wx -> /home/user/downloads/wxPython/wxPython-4.0.0b2/wx