Mac上使用virtualenv搭建虚拟环境
问题:
在开发过程中如果想要安装Python包时可以使用“sudo pip install 包名”来安装。
在开发不同项目时使用同一个包的不同版本,都是用上面的命令进行安装会造成其他项目无法运行(覆盖掉了)。
解决方法:
虚拟环境
虚拟环境可以搭建独立的Python运行环境,使单个项目运行环境和其他项目运行环境互不影响。
下面介绍一下安装方法:
1. 安装virtualenv ---- sudo pip install virtualenv
测试:
$ mkdir testvirtualenv
$ cd testvirtualenv
$ virtualenv env1 ------就可以成功创建一个虚拟环境env1
2. 安装virtualenvwrapper ----- sudo easy_install virtualenvwrapper (我使用pip 没有安装成功,所以使用的easy_install)
virtualenvwrapper是virtualenv的扩展包,可以更方便的新增、删除、复制、切换虚拟环境。安装virtualenvwrapper的时候如果用pip安装,要使用pip 不要使用pip3,不然会报错
virtualenvwrapper使用virtualenvwrapper.sh需要配置一下环境变量直接把下面两行写入~/.bash_profile文件中即可:
export WORKON_HOME='~/workspace' ##这个目录为创建虚拟环境是所在的目录,可以自己指定目录
source /usr/local/bin/virtualenvwrapper.sh
在配置完环境变量以后执行一下source ~/.bash_profile命令,不然不生效
4.来测试一下,创建两个虚拟环境env1、env2
$ mkvirtualenv env1 (创建虚拟环境env1)
创建成功以后当前路径前面就会有(env1)
$mkvirtualenv env2 (创建虚拟环境env2)
下面是一些常用的基本命令
1.退出当前虚拟环境
$deactivate
2.列出虚拟环境列表
$lsvirtualenv -b
env1
env2
3.切换虚拟环境
$workon env2
4.进入当前虚拟环境
$cdvirtualenv
5.删除虚拟环境
$rmvirtualenv env1
6.进入当前环境的site-packages
$cdsitepackages
7.查看环境中安装了哪些包
$lssitepackages
8.复制虚拟环境
$cpvirtualenv env1 env3
让我们来安装一些包试试(在虚拟环境中安装包不用sudo)
$workon env1
$pip install numpy
$pip install scipy
$pip install matplotlib
$ pip install ipython
$pip install pandas
$pip install scikit-learn
执行lssitepackages来查看env1中已经安装的包多了很多
workon env2 切换到env2
$lssitepackages 可以看到在env2中并没有刚才在env1中安装的包。