1

我让 PyQt4 在 Ubuntu 12.04 上使用 python2 运行良好。然后我安装了 python-PySide。但是安装测试会给我一个找不到模块的错误。然后我安装了 python3-PySide,它工作正常。所以显然与我的环境路径有关,但我不确定我需要做什么。我猜 PySide 会自动检查 python3 是否存在,如果存在,那么无论如何它都会使用它。由于 Qt4.8 兼容性问题,我需要 PySide 与 python2.7 一起使用。有什么建议么?

关于我的系统的一些信息:

哪条蟒蛇

/usr/bin/local/python

哪个python3

/usr/bin/python3

编辑:

有关安装测试的更多详细信息。
安装完成后,我调出python控制台,尝试import PySide,如下:

Python

导入 PySide

ImportError:没有模块名称 PySide

但它适用于 python3:

蟒蛇3

导入 PySide

PySide。版本

'1.1.2'

4

1 回答 1

1

您有两个独立的 Python 2.7 安装,一个在 /usr 中,一个在 /usr/local 中。(这是在您还拥有的 Python 3.x 安装之上。)

这势必会造成混乱,尤其是对于新手而言。它已经引起了它注定要引起的那种消费。

您已将 PySide 安装到 /usr 安装中,因此它最终位于 /usr/lib/python2.7/dist-packages 中。如果您运行 /usr/bin/python,那import PySide可能会正常工作。(如果没有,请参见下文。)

但是在你的 PATH 上调用的默认东西是 /usr/local 安装,因此python说/ usr/local/bin/python,所以它根本看不到 PySide。因此,您还需要为其他Python 安装它。python2.7which python


除非您知道出于某种原因在 /usr/local 中需要第二个 Python 2.7,否则最简单的做法就是废弃它。不要卸载它并重新安装它;只需卸载它。您已经在 /usr 中获得了 Python 2.7,并且不需要其中的两个。


如果你真的需要让 PySide 与第二个 2.7 一起工作……</p>

尽管被反复询问,您仍然没有解释您是如何安装 PySide 的,因此我无法确切地告诉您如何做到这一点。但一般来说,关键是确保对必须运行的所有 Python 程序(python 本身、python-config、pip、easy_install 等)使用显式路径。例如,如果您脑海中的文档、博客或声音告诉您在某个步骤运行 easy_install,请改为运行 /usr/local/bin/easy_install。如果没有这样的程序,那么您需要安装它。您已经拥有 /usr/bin/easy_install 的事实并没有帮助——事实上,它很痛苦。


如果您可以摆脱第二个 Python,但这还不能修复 PySide,请卸载、重建并重新安装 PySide。或者,甚至更简单……PySide 为所有具有 Ubuntu 包的主要 Python 版本预先制作了可工作的二进制 Ubuntu 包。就这样安装吧。

于 2013-10-31T02:54:53.087 回答