虚拟环境搭建
之前我们安装模块都是直接在物理环境下安装,这种安装方法,后面一次安装的会覆盖掉前面一次安装的。那如果一台机器上面开发多个项目使用到不同版本的模块呢?怎么样做才能不受版本影响!那么需要用到虚拟环境,每个虚拟环境互相隔离,在一个虚拟环境中安装卸载模块其他不受影响!
python虚拟环境安装
pip install virtualenv
pip install virtualenvwrapper
pip install virtualenvwrapper-win #Windows使用该命令
创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs
.在~/.bashrc中添加下列两行命令:
export WORKON_HOME=$HOME/.virtualenvs #添加系统环境变量
source /usr/local/bin/virtualenvwrapper.sh
例:
export PATH=$PATH:~/.local/bin #添加系统环境变量,打不到virtualenv时添加
export WORKON_HOME=$HOME/.virtualenvs #
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #指定python环境
source /home/lijian/.local/bin/virtualenvwrapper.sh
find -name virtualenvwrapper.sh #查找virtualenvwrapper.sh的目录
修改bashrc文件后需要运行:
source ~/.bashrc
创建python虚拟环境
mkvirtualenv [虚拟环境名称] #创建虚拟环境
workon [虚拟环境名称] #进入虚拟环境
mkvirtualenv -p /usr/bin/python2.7 py2 #创建python2虚拟环境
mkvirtualenv -p /usr/bin/python3 py3 #创建python3虚拟环境
which python3 #查找python3的安装目录
退出虚拟环境
deactivate [虚拟环境名称]
删除(慎用) 先退回虚拟环境
rmvirtualenv [虚拟环境名称]
虚拟环境中安装指定版本号的模块
1.在虚拟环境中安装模块不需要加sudo,如果加sudo会安装到真实环境中去,也不需要指定pip的版本,直接使用pip安装就可以。
workon py3
pip install django==1.8.2
2.查看虚拟环境下安装了那些包
pip freeze list
3.项目开发完成,需要上线时,将开发环境使用的包,导出安装到生产环境下。
pip freeze list > requirements.txt
4.将开发环境导出的包的文件requirements.txt,安装到生产环境
pip install -r requirements.txt