Python虚拟环境(virtualenv与virtualenvwrapper)
1.virtualenv是什么,有什么用?
virtualenv是创建独立Python开发环境的工具
作用:通过创建独立的环境来解决依赖,版本以及间接权限的问题。比如某个项目依赖Django 1.7,而当前全局开发环境版本为1.10.导致不兼容整个项目无法运行,这个时候使用virtualenv创建一个独立的环境去安装指定版本的包,让整个项目在这个虚拟环境中运行就行了,不会干扰本地环境,还可以随时创建删除,非常方便。
注意:virtualenv创建一个拥有自己安装目录的环境。这个环境不与其他虚拟环境共享库,能够方便的管理python版本和python库。
2.安装virtualenv
使用pip安装virtualenv
pip install virtualenv
或者需要权限的请加 sudo
sudo pip install virtualenv
3.virtualenv的基本使用
(1)创建虚拟环境
virtualenv env #创建一个名字叫做env的虚拟环境,默认python版本为3.X
需要指定python版本的使用
virtualenv env -p /usr/bin/python #创建python2.X环境
virtualenv env -p /usr/bin/python3 #创建python3.X环境
-p以及后面的内容是python解释器的位置
查看python解释器的位置可以使用
which python #Python2的位置
which python3 #Python3的位置
lib,所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下
bin,bin/python是在当前环境是使用的python解释器
想要继承本地所有的库可以使用
virtualenv --system-site-packages env
2.激活virtualenv
进入env目录下
cd env #进入虚拟环境目录
source ./bin/activate #激活当前虚拟环境,会在终端中显示
3.关闭virtualenv
deactivate
或者我们写个shell脚本启动virtualenv
vim activate.sh
按i进入编辑模式
#!/bin/bash
source env/bin/activate
然后按esc再按shift+:再按wq保存退出
然后执行. ./activate
4.生成可打包的环境
在某些时候我们将虚拟环境直接打包,然后要用的时候直接解压使用,这在没有网络的时候是非常的方便的。(不能跨平台使用)
使用命令
virtualenv --relocatable ./
5.想要删除的虚拟环境直接将env文件夹删除就行
rm -rf env
6.还有功能更加丰富的Virtualenvwrapper
安装
sudo pip install virtualenvwrapper
配置
修改~/.bash_profile或者~/.bashrc或者装了Zsh的修改.zshrc
添加以下语句:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh
然后重启或者
source ~/.bash_profile
source ~/.bashrc
source ~/.zshr
这三个自己根据自己的系统选择
命令列表
mkvirtualenv env #创建环境
workon #列出已有环境
workon env1
workon env2 #切换虚拟环境
退出
deactivate
创建project
将项目创建到PROJECT_HOME目录下,实际上相当于在某个目录下创建了一个环境
mkproject
还有一些
rmvirtualenvENV:删除运行环境ENV
mktmpenv:创建临时运行环境
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包
启动和关闭与virtualenv相同