假设我在系统位置有正常的系统python 2.7包
然后我做
virtualenv env1
我在那里安装所有要求
然后我停用它并执行
export PYTHONPATH=$PYTHONPATH:/path/to/env1
然后我做virtualenv env2
,然后在那里安装新的要求
然后我再次这样做
export PYTHONPATH=$PYTHONPATH:/path/to/env2
所以我的问题是
安装在env1中的所有packaga都不会安装在env2中,或者env2会安装新的packaga。
如果在激活env2时我pip install packagae1
,我会遇到问题。它说要求已经满足
然后我打开python shell并导入mymodule。它说模块没找到。我可以在env1
中看到该模块。
我必须从env1中删除该模块,然后在env2上安装,然后才能工作。
我想知道那是什么
答案 0 :(得分:1)
您在安装模块之前是否已激活env2?
source bin / activate
如果要从virtualenv卸载任何模块,请使用
pip uninstall module_name
答案 1 :(得分:1)
首先,不要手动更改PYTHONPATH。 步骤应如下所示:
[root@demo src]$ source /usr/local/env1/bin/activate
(env1)[root@demo src]$ # pip install blah
(env1)[root@demo src]$ source /usr/local/env2/bin/activate
(env2)[root@demo src]$ #pip install blah
(env2)[root@demo src]$
答案 2 :(得分:0)
可能您尚未激活虚拟环境(我们将其称为venv
)并在系统范围内安装了该软件包。
我建议你首先尝试激活venv然后继续安装在任何一个venv。
您可以使用以下代码激活venv:
cd ~/venv/
source /bin/activate