virtualenv没有指向本地可执行文件

时间:2013-11-22 08:46:38

标签: python virtualenv

我注意到在本地计算机上安装了virtualenv的奇怪行为。这就是我一直在做的事情:

tomasz@laptop:~/Development/Python$ virtualenv nac-env
New python executable in nac-env/bin/python
Installing Setuptools...................................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
tomasz@laptop:~/Development/Python$ cd nac-env
tomasz@laptop:~/Development/Python/nac-env$ source ./bin/activate
(nac-env)tomasz@laptop:~/Development/Python/nac-env$ which python
/usr/bin/python
(nac-env)tomasz@laptop:~/Development/Python/nac-env$ which pip
/usr/bin/pip
(nac-env)tomasz@laptop:~/Development/Python/nac-env$ which easy_install
/usr/local/bin/easy_install
(nac-env)tomasz@laptop:~/Development/Python/nac-env$ echo $PYTHONPATH
/usr/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages
(nac-env)tomasz@laptop:~/Development/Python/nac-env$ deactivate
tomasz@laptop:~/Development/Python/nac-env$ 

正如nettuts截屏视频(http://www.youtube.com/watch?v=IX-v6yvGYFg,6:55)所述,pythonpipeasy_install可执行文件应指向虚拟环境中的文件并不是/usr/bin/...的东西。如果$PYTHONPATH sysvar设置不正确,我认为我的安装没有按预期工作......有谁知道出了什么问题?

PS我不久前在我的本地机器上全局安装了virtualenv。可能它是通过pip或类似的方式来安装的。

2 个答案:

答案 0 :(得分:1)

好吧,我确信这种行为实际上并不正常。我已经卸载了现有的virtualenv并从pip重新安装了它,现在一切都运行良好:

tomasz@laptop:~/Development/Python/foo$ source bin/activate
(foo)tomasz@laptop:~/Development/Python/foo$ which python
/home/tomasz/Development/Python/foo/bin/python
(foo)tomasz@laptop:~/Development/Python/foo$ which pip
/home/tomasz/Development/Python/foo/bin/pip
(foo)tomasz@laptop:~/Development/Python/foo$ which easy_install
/home/tomasz/Development/Python/foo/bin/easy_install
(foo)tomasz@laptop:~/Development/Python/foo$ echo $PYTHONPATH
/usr/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages

答案 1 :(得分:1)

我发生了这件事。你改变了你的项目路径吗?

当我第一次创建虚拟环境时,我使用了~/src/my_project/venv,但后来又将其更改为~/projects/my_project/venv。当我运行激活脚本时,它使用的是旧路径。为了解决这个问题,我使用新路径替换了activate目录中的所有脚本,pythonpip等现在来自虚拟环境。