virtualenv与virtualenvwrapper

一、Linux下安装、配置virtualenv

pip3 install virtualenv
# 创建虚拟环境env1
virtualenv env1 --no-site-packages --python=python3
# 进入虚拟环境(激活)
source env1/bin/activate
# 安装第三方包
pip3 install flask
# 退出虚拟环境
deactivate

二、确保开发环境的一致性

假设我们在本地开发环境,准备好了项目+依赖包环境;现在需要将项目上传至服务器,上线发布;那么就要保证服务器的python环境一致性。

解决方案:

1.通过命令保证环境的一致性,导出当前项目的依赖(需要提前安装pipreqs)
pipreqs ./ --encoding=utf-8

2.在服务器下创建virtualenv,在虚拟环境中导入项目所需的依赖
pip3 install -r requirements.txt

三、virtualenvwrapper

virtualenv缺点:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录,并且还有可能你忘记了虚拟环境放在哪。

解决:

使用virtualenvwrapper管理虚拟环境(virtualenv),其实就是用来统一管理虚拟环境的目录,并且省去了source的步骤。

安装virtualenvwrapper

pip3 install virtualenvwrapper

设置Linux的环境变量,每次启动就加载virtualenvwrapper

# 打开文件
vim ~/.bashrc

# 写入以下4行代码
# 设置virtualenv的统一管理目录
export WORKON_HOME=~/envs
# 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--no-site-packages"
# 指定python解释器
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
# 执行virtualenvwrapper安装脚本  
source /usr/local/python3/bin/virtualenvwrapper.sh

# 读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc

基本使用virtualenvwrapper

# 创建一个虚拟环境
mkvirtualenv env2  # 这会在~/envs中创建env2文件夹

# 激活虚拟环境env2 workon env2
# 再创建一个新的虚拟环境 mkvirtualenv env3
# workon可以任意停止你当前的环境,还可以在多个虚拟环境中来回切换 workon env2 workon env3
# 也可以手动停止虚拟环境 deactivate
# 删除虚拟环境,需要先退出虚拟环境 rmvirtualenv env2

常用其他命令

# 列出所有的虚拟环境
lsvirtualenv

# 导航到当前激活的虚拟环境的目录中,这样您就能够浏览它的site-packages
cdvirtualenv

# 和上面的类似,但是是直接进入到site-packages目录中
cdsitepackages

# 显示site-packages目录中的内容
lssitepackages

更多内容:官方文档 

 

posted @ 2019-02-18 16:16  就俗人一个  阅读(239)  评论(0编辑  收藏  举报