我正在努力掌握Python虚拟环境并遵循了一些优秀的教程,例如simononsoftware和IAmZed,这些教程在回答另一个SO问题here时被推荐
但是我在使用virtualenvwrapper时遇到了一些问题。我正在阅读文档here
我相信我已经正确安装了virtualenvwrapper。当我输入
localhost:workspace brendan$ which virtualenvwrapper.sh
我收到以下内容。 注意:这不在我的虚拟环境中。
/usr/local/bin/virtualenvwrapper.sh
然而,当我通过
进入我的虚拟环境时localhost:workspace brendan$ source virt_env/Credibility/bin/activate
并输入
(Credibility)localhost:workspace brendan$ lssitepackages
我收到了
-bash: lssitepackages: command not found
我还在我的Credibility virtualenv中安装了virtualenvwrapper,但该命令仍无效。
这是我在Credibility Virtualenv中的yolk -l
输出
(Credibility)localhost:workspace brendan$ yolk -l
Django - 1.5.1 - active
Python - 2.7.1 - active development (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload)
SQLAlchemy - 0.8.2 - active
distribute - 0.7.3 - active
nose - 1.3.0 - active
pip - 1.4 - active
setuptools - 0.9.7 - active
stevedore - 0.10 - active
virtualenv-clone - 0.2.4 - active
virtualenv - 1.10.1 - active
virtualenvwrapper - 4.1.1 - active
wsgiref - 0.1.2 - active development (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7)
yolk - 0.4.3 - active
(Credibility)localhost:workspace brendan$
我怀疑我可能会出错。在它所说的docs中
首先,一些初始化步骤。大多数情况只需要完成 一度。 您需要将命令添加到源 /usr/local/bin/virtualenvwrapper.sh到你的shell启动文件, 根据它的位置改变virtualenvwrapper.sh的路径 由pip安装。
我不确定如何做到这一点所以我按照另一个SO回答中的说明here
localhost:documents brendan$ cd workspace/
localhost:workspace brendan$ pwd
/Users/brendan/documents/workspace
localhost:workspace brendan$ cat >> ~/.profile
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Users/brendan/documents/workspace
source /usr/local/bin/virtualenvwrapper.sh
localhost:workspace brendan$ source ~/.bash_profile
localhost:workspace brendan$
我认为这会修复它,因为你可以看到我重新加载了我的终端窗口,我也重新启动它。然而,与安装软件包不同,这给了我没有反馈,因为我完成了每个步骤,我认为它可能导致问题。
任何人都可以在这里看到问题,还是有其他问题我没有看到?
感谢您的帮助
设置:Mac OSX 10.7.5
答案 0 :(得分:2)
首先,您应该在虚拟环境之外安装virtualenvwrapper,而不是在其中。然后相应地调整您的个人资料:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/documents/workspace
source /usr/local/bin/virtualenvwrapper.sh
您的PROJECT_HOME
接下来,您已完成源文件。
最后:
$ mkvirtualenv foo
...
(foo)$ lsvirtualenv
使用mkvirtualenv
命令执行此操作可确保执行正确的文件,这将在虚拟环境中添加具有正确路径的命令。下次要处理虚拟环境时,应使用workon
命令,如下所示:
$ workon foo
这将确保路径与virtualenv包装器特定命令一起正确设置。