python虚拟环境好处
在开发中安装模块的方法:
pip install 模块名称
之前我们安装模块都是直接在物理环境下安装,这种安装方法,后面一次安装的会覆盖掉前面一次安装的。那如果一台机器上面开发多个项目使用到不同版本的模块呢?怎么样做才能不受版本影响!那么需要用到虚拟环境,每个虚拟环境互相隔离,在一个虚拟环境中安装卸载模块其他不受影响!
python虚拟环境的安装
- 安装
sudo apt-get install python-virtualenv
sudo easy_install virtualenvwrapper
如果出现sudo: easy_install: command not found
:
清先安装python-setuptools
sudo apt install python-setuptools
- 配置虚拟环境
配置虚拟环境的目的是可以直接在终端使用
mkvirtualenv
或其他命令,如果不配置需要带上 路径+ mkvirtualenv
创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs
在~/.bashrc
中添加下面两行:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
激活配置,让配置的环境变量生效:
source ~/.bashrc
创建python虚拟环境
mkvirtualenv 虚拟环境名称
使用虚拟环境
workon 虚拟环境名称
退出虚拟环境
deactivate 虚拟环境名称
删除 先退回虚拟环境
rmvirtualenv 虚拟环境名称
创建 python 2版本开发
mkvirtualenv -p /usr/bin/python2.7 py2
创建 python 3版本开发
mkvirtualenv -p /usr/bin/python3 py3
虚拟环境中安装指定版本号的模块
注意: 在虚拟环境中安装模块不需要加sudo,如果加sudo会安装到真实环境中去,也不需要指定pip的版本,直接使用pip安装就可以。
- 先进入虚拟环境,比如使用叫env的虚拟环境
workon env
安装版本为1.1版本的django到当前虚拟环境
pip install django==1.1查看虚拟环境下安装了那些包
pip freeze list
- 项目开发完成,需要上线时,将开发环境使用的包,导出安装到生产环境下。
pip freeze list > requirements.txt
- 将开发环境导出的包的文件requirements.txt,安装到生产环境
pip install -r requirements.txt