我注意到在本地计算机上安装了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)所述,python
,pip
和easy_install
可执行文件应指向虚拟环境中的文件并不是到/usr/bin/...
的东西。如果$PYTHONPATH
sysvar设置不正确,我认为我的安装没有按预期工作......有谁知道出了什么问题?
PS我不久前在我的本地机器上全局安装了virtualenv。可能它是通过pip
或类似的方式来安装的。
答案 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目录中的所有脚本,python
,pip
等现在来自虚拟环境。