python-virtualenv和venv
1. virtualenv
Python2 和 Python3 均支持的方式
1.1 安装
pip install virtualenv
1.2 创建项目
cd my_project_folder
virtualenv my_project
1.3 指定 python 版本
virtualenv -p /usr/bin/python2.7 my_project
或者在环境变量配置中加入
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
1.4 激活虚拟环境
(Linux) source my_project/bin/activate
(Windows) my_project\Scripts\activate
1.5 退出环境
(Linux) my_project/bin/deactivate
(Windows) my_project\Scripts\deactivate.bat
1.6 virtualenv 常用命令选项
virtualenv [OPTIONS] DEST_DIR Options: –version 显示版本信息。 -h, –help 显示帮助信息。 -v, –verbose 增加后台输出的信息。 -q, –quiet 控制后台输出的信息。 -p PYTHON_EXE, –python=PYTHON_EXE 指定 Python 解释器 –clear 清除虚拟环境中依赖库,初始化环境。 –system-site-packages 使用当前 Python 主体上已安装的程序库。 –always-copy 一概不使用 符号链接,直接复制文件。 –no-setuptools Do not install setuptools in the new virtualenv. –no-pip Do not install pip in the new virtualenv. –no-wheel Do not install wheel in the new virtualenv.
1.7 virtualenv 相关扩展
virtualenvwrapper
virtualenv 的扩展包,能方便的管理 virtualenv
1.7.1 安装
环境变量 WORKON_HOME 指定虚拟环境位置
(Linux) pip install virtualenvwrapper export WORKON_HOME=~/Envs source /usr/local/bin/virtualenvwrapper.sh
(Windows) pip install virtualenvwrapper-win WORKON_HOME 默认值是 %USERPROFILE%Envs
1.7.2 基本用法
创建虚拟环境
mkvirtualenv myenv
切换到虚拟环境
workon myenv
虚拟环境和项目分开
mkproject my_project
虚拟环境在 WORKON_HOME 中,项目在 PROJECT_HOME 中
退出虚拟环境
deactivate
删除虚拟环境
rmvirtualenv myenv
其它用法
lsvirtualenv 列举所有的环境。 cdvirtualenv [subdir] 导航到当前激活的虚拟环境的目录中 cdsitepackages [subdir] 和上面的类似,但是是直接进入到 site-packages 目录中 lssitepackages 显示 site-packages 目录中的内容 showvirtualenv [env] 显示指定环境的详情 cpvirtualenv [source] [dest] 复制一份虚拟环境 allvirtualenv 对当前虚拟环境执行统一的命令 add2virtualenv [dir] [dir] 把指定的目录加入当前使用的环境的path中,这常使用 于在多个project里面同时使用一个较大的库的情况 toggleglobalsitepackages -q 控制当前的环境是否使用全局的sitepackages目录
virtualenv-burrito
相当于 virtualenv + virtualenvwrapper ,不过只支持 python 2
autoenv
当进入到一个包含 .env 的目录,autoenv 会自动激活该环境
pip install autoenv
2. venv
Python3 支持的方式,原名又 pyvenv,python 3.6 已弃用
2.1 创建虚拟环境
python3 -m venv /path/to/new/virtual/environment
2.2 命令帮助
python3 -m venv -h usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] ENV_DIR [ENV_DIR ...] Creates virtual Python environments in one or more target directories. positional arguments: ENV_DIR A directory to create the environment in. optional arguments: -h, --help 帮助信息 --system-site-packages 给虚拟环境访问系统 site-packages 目录的权限 --symlinks 当系统默认不是符号链接的方式时,尝试使用符号链接而不是复制。 --copies 尝试使用复制而不是符号链接,即使符号链接是平台默认的方式。 --clear 在虚拟环境创建之前,删除已存在的虚拟环境目录。 --upgrade 使用当前 python,升级虚拟环境目录。 --without-pip 跳过pip的升级或安装 --prompt PROMPT 为该环境提供一个提示前缀 Once an environment has been created, you may wish to activate it, e.g. by sourcing an activate script in its bin directory.
2.3 不同平台激活虚拟环境方法
Platform | Shell | 激活虚拟环境命令 |
Posix | bash/zsh | $ source /bin/activate |
fish | $ . /bin/activate.fish | |
csh/tcsh | $ source /bin/activate.csh | |
Windows | cmd.exe | C:> \Scripts\activate.bat |
PowerShell | C:> \Scripts\Activate.ps1 |
转自:https://blog.csdn.net/yezhenquan123/article/details/79313110