安装virtualenv和virtualenvwrapper
注意:Windows和Mac安装方法不同
Windows安装方法
Windows安装比较简单.可以一条命令完成安装virtualenv和virtualenvwrapper
1.确认安装python
python --version
2.使用pip安装
pip install virtualenvwrapper-win
3.创建一个名为”myproject”的虚拟环境
mkvirtualenv myproject
这步作完之后已经进入了该虚拟环境
4.进入某个特定的虚拟环境
workon myproject
5.退出虚拟环境
deactivate
Mac OS安装方法
可以选择只安装virtualenv,但是和Windows的命令对应不起来.所以我选择两个都安装
安装virtualenv
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh
1.创建一个名为”venv”的虚拟环境
virtualenv venv
2.启动某个虚拟环境
source venv/bin/activate
安装virtualenvwrapper
pip install virtualenvwrapper
安装完 Virtaulenvwrapper,发现它的命令功能还无法使用,那是因为我们还需要在使用之前要运行 virtualenvwrapper.sh 文件,需要设置环境变量。
这里就出现第一个问题了,根据搜索的一些教程,virtaulenvwrapper 默认安装 /usr/local/bin 下面,但是我的电脑不在这个目录下,于是就可以通过 mdfind 命令搜索文件
mdfind -name "virtualenvwrapper.sh"
得到路径,我们暂且称它为virtualenvwrapper_sh_path,即virtualenvwrapper.sh的路径
MAC 设置环境变量path的几种方法
在了解上面的问题之前,我们先了解一些 Mac OS 设置环境变量的基础知识。
Mac OS 一般使用 bash 作为默认 shell,Mac OS 系统的环境变量加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
前两个是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果 ~/.bash_profile 文件存在,则后面的几个文件就会被忽略不读了,如果 ~/.bash_profile 文件不存在,才会以此类推读取后面的文件。~/.bashrc 没有上述规则,它是 bash shell 打开的时候载入的。
我们这这里讲单个用户设置环境变量,而不是全局设置,~/.bash_profile (任意一个文件中添加用户级环境变量),需要注意的是:Linux 里面是 .bashrc,而 Mac 是 .bash_profile,若 bash shell 是以 login 方式执行时,才会读取此文件,该文件仅仅执行一次。
至此,我们应该就明白了,我们应该在哪个文件下写入 Virtaulenvwrapper 运行需要的环境变量设置代码了。
对!如下使用 vim 命令将上面两行代码写入 ~/.bash_profile 中即可,重启命令行工具,所有就正常了。
$ vim ~/.bash_profile
往里面添加
# virtualenv
VIRTUALENVWRAPPER_PYTHON=你的pyhton路径
export WORKON_HOME=/Users/luohao/Dropbox/PythonCode/Env
source virtualenvwrapper_sh_path
注:
workspaces为你设置的环境目录
我的实例
# virtualenv
VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
export WORKON_HOME=/Users/luohao/Dropbox/PythonCode/Env
source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh
virtualenvwrapper_sh_path为virtualenvwrapper.sh的路径
1.创建一个名为”venv”的虚拟环境
mkvirtualenv venv
或者继承软件包
mkvirtualenv venv --system-site-packages
2.在”venv”虚拟环境上工作
workon venv
3.删除某个虚拟环境
rmvirtualenv venv