一、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
更多内容:官方文档