虚拟环境找不到安装在虚拟环境之外的模块

时间:2015-02-26 01:53:42

标签: python gtk virtualenv pythonpath

我正在尝试在我的机器上设置虚拟环境,而我确实遇到了麻烦。

编辑:我通过安装virtualenvironment1.9并运行:

来设置我的虚拟环境
python virtualenv.py -p myVE

然后我添加了一行

alias goVE='source ~/virtualenv-1.9/myVE/bin/activate'

到我的bashrc,我用goVE来激活虚拟环境。我在终端的命令行开头得到一个(myVE),所以我觉得它有效。它只是以某种方式丢失了gtk模块。

结束编辑

基本上,如果我尝试

import gtk

在python中,它告诉我没有名为gtk的模块。但在我的虚拟环境之外,gtk导入没有问题。我觉得路径有问题,所以我添加了

export VIRTUALENV_EXTRA_SEARCH_DIR=$PYTHONPATH
export VIRTUALENV_EXTRA_SEARCH_DIR=/usr/lib64/python2.6/site-packages/gtk-2.0

到我的bashrc。由于显然在pythonpath中找到了gtk模块,我认为第一行会做到这一点。当这还不够时,我尝试将一个路径专门添加到gtk所在的目录,我通过尝试

进行了验证
import gtk
gtk.__file__

由于这仍然无效,我尝试修改virtualenvironment / bin / activate文件,因此:

PATH = ="$VIRTUAL_ENV/bin:$PATH:/usr/lib64/python2.6/site-packages/gtk-2.0/"

同样,这应该包含在原始PATH中(除非我弄错了),但我变得绝望,所以我尝试将其明确地添加到PATH中。为了完整起见,我的PYTHONPATH设置为:

export PYTHONPATH=${PYTHONPATH}:/data/monroe/ebexcode/trunk/GetData/:/home/user1/geach/:/usr/lib64/python2.6/site-packages/

1 个答案:

答案 0 :(得分:0)

您还没有解释如何创建虚拟环境,因此无法判断是否成功。如果您的虚拟环境已成功创建,则无需手动扫描路径。

假设您有一个虚拟环境,您还没有证明您能够activate它。要激活它,您必须在虚拟环境的bin目录中运行脚本。例如,如果您的虚拟环境位于~/myvenv并且您运行了bash,请在您的提示符处发出以下命令来激活您的虚拟环境:

source ~/myvenv/bin/activate

此时,您可以使用shell的此实例将软件包安装到虚拟环境中:

pip install PyGTK

根据您的系统安装,如果您没有安装所有工具和库来构建Python GTK绑定,则可能会失败。