Macport Portfiles在Virtualenv中不起作用

时间:2016-04-18 18:12:28

标签: python qt python-2.7 pyqt virtualenv

我已经通过Macport sudo port install py27-pyqt4和virtualenv与pip install virtualenv安装了PyQt4。每当我在虚拟环境中运行PyQt程序时,我都会收到以下错误:

ImportError: No module named PyQt4.QtGui

但是,当我离开虚拟环境时,我能够运行相同的应用程序。这个问题可能是什么原因以及如何解决?

1 个答案:

答案 0 :(得分:0)

看起来您可能没有将PyQt4安装到虚拟环境中,通常步骤如下:

1)创建虚拟环境:virtualenv ve_name

2)激活创建的virtualenv:source path_to_ve_name/bin/activate(此时你的shell会以ve_name为前缀,你的$PATH会更新,所以无论你通过pip安装什么最终进入path_to_ve_name/bin

3)安装所有依赖项,同时保持ve_name处于活动状态:pip install package-name等。

完成此操作后,您需要将PyQt4安装到该虚拟环境中,这里有一个示例:How to install SIP and PyQt on a virtual environment?看起来简单的pip install无法使用PyQT,请查看该问题中的建议。

完成ve_name的处理后,您只需要deactivate您的虚拟环境(使用shell中的deactivate命令)。这将恢复你的$ PATH变量,你可以为新项目创建一个新的ve,或者通过重新激活创建的ve继续处理同一个项目。