将这种三线在~/.bash_profile
文件: -
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/work
source `which virtualenvwrapper.sh`
的$HOME
环境变量指向你的用户的家中。也被称为蒂尔达“〜”,即/Users/your_osx_username/
。
WORKON_HOME
是您在~/.bash_profile
文件中使用export
呼叫进行分配的新环境变量。这是所有新创建的virtualenv目录将被保留的地方。
PROJECT_HOME
是您通常手动放置所有自定义项目目录的位置。没有任何关系你的virtualenvs说,但只是一个简单的参考点,你可以cd到使用cd $PROJECT_HOME
语法。
which virtualenvwrapper.sh
指向bash脚本virtualenvwrapper.sh
所在的位置,因此当您输入它时,该bash脚本中的函数可用于您的mkvirtualenv
调用。
每当你打开一个“新shell”(新标签,在第一次更新~/.bash_profile
文件后关闭当前标签),所有这些环境变量和bash函数将在你的shell中可用。
当我们创建使用mkvirtualenv -p python2.7 --distribute my_new_virtualenv_1
一个新的virtualenv,实际发生的是正在创建和新的Python站点包子目录在您~/.virtualenvs/
创建了一个名为my_new_virtualenv_1
包含一个符号链接到您的全局python2.7新目录目录。参考: -
calvin$ mkvirtualenv -p python2.7 --distribute my_new_virtualenv_1
Running virtualenv with interpreter /opt/local/bin/python2.7
New python executable in my_new_virtualenv_1/bin/python
Installing distribute..........................................................................................................................................................................................................done.
Installing pip................done.
virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/get_env_details
所以,如果你
cd ~/.virtualenvs/my_new_virtualenv_1
calvin$ tree -d
.
├── bin
├── include
│ └── python2.7 -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
└── lib
└── python2.7
├── config -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
├── distutils
├── encodings -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings
├── lib-dynload -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
└── site-packages
├── distribute-0.6.28-py2.7.egg
│ ├── EGG-INFO
│ └── setuptools
│ ├── command
│ └── tests
├── pip-1.2.1-py2.7.egg
│ ├── EGG-INFO
│ └── pip
│ ├── commands
│ └── vcs
└── readline
你会看到在此目录结构。
当然要注意,您正在使用Envs
,我使用.virtualenvs
作为虚拟env保存目录。
谢谢卡尔文。我试着按照你的指示,但我的终端给了我以下错误:'code'Traceback(最近呼叫最后):文件“”,第1行,在 ImportError:没有名为virtualenvwrapper.hook_loader.'code'的模块你知道吗可能会发生什么? –
user1552159
你是怎么按顺序安装'virtualenvwrapper'的? 'sudo pip安装virtualenvwrapper'? –
我怀疑你的'python'版本可能仍然是默认的苹果发行的'python',它是python 2.7.1。你应该首先尝试安装python 2.7.3,可以通过'sudo port install python2.7'通过macports来完成,然后选择这个新的python 2.7.3作为默认'sudo port select --set python python27'并且遵循通过正确设置你的'PATH'。类似的设置在这里 - http://stackoverflow.com/questions/11507186/python-virtualenv-no-module-named-virtualenvwrapper-hook-loader –