Python由于开源社区的支持,第三方包非常丰富,但通常我们在开发某个项目的时候,只需要部分的第三方依赖包。virtualenv可以建立不同的虚拟python环境,使得python项目互相独立,直接部署到别的机器。
virtualenv
A、安装:pip3 install virtualenv
B、测试是否安装成功: virtualenv --version
C、使用virtualenv为一项目(myproject)搭建一个虚拟环境:
virtualenv py3 # 虚拟环境使用默认python
virtualenv -p python路径 py3 # 虚拟环境指定python路径
virtualenv --no-site-packages py3 #已经安装到系统Python环境中的所有第三方包都不会复制过来
D、进入虚拟环境:(需要进入myproject项目路径后): source py3/bin/activate
(py3) xueerhuandeMacBook-Pro:ll xueerhuan$ source py3/bin/activate
(py3) xueerhuandeMacBook-Pro:ll xueerhuan$
注意到命令提示符变了,有个(py3)
前缀,表示当前环境是一个名为py3的Python环境。
E、退出当前的venv
环境:deactivate
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate
进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python
和pip
均指向当前的virtualenv环境。
其它命令看:https://www.cnblogs.com/yixuetang/p/8359856.html
virtualenvwrapper
virtualenvwrapper 是一个基于virtualenv扩展的工具,它将所有的虚拟环境统一管理。
1、安装
前提: virtualenv 已经安装
pip install virtualenvwrapper export WORKON_HOME=~/Envs #设置环境变量 mkdir -p $WORKON_HOME #创建虚拟环境管理目录 find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路径 source 路径 #激活virtualenvwrapper.sh
默认virtualenvwrapper安装在下面python解释器中的site-packages,实际上需要运行virtualenvwrapper.sh文件才行;所以需要先进行配置一下:
找到virtualenvwrapper.sh的路径:
find
/
-
name virtualenvwrapper.sh
- 运行virtualenvwrapper.sh文件:source 路径
2、执行:source 路径 命令报错:
错误原因:机器安装了2.7和3.x两个版本的python,在安装时使用的是sudo pip3 install virtualenvwrapper
但运行source 路径 命令时默认使用的是python2.x,但在python2.x中不存在对应的模块。(virtualenvwrapper.sh文件内容如下:):
virtualenvwrapper.sh文件表示:当不存在VIRTUALENVWRAPPER_PYTHON环境时,会默认选择使用which python的python(我这里默认是python2),
所以解决方法为增加此环境变量:
vim ~/.bash_profile,在~/.bash_profile里添加:
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #(此处为本机python3的路径)
然后:source ~/.bash_profile使添加的环境变量生效