文章目录
1. virtualenv 简介
在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰。
2. virtualenv 安装
pip2 install virtualenv --user # 默认使用 python2 作为虚拟环境解释器
pip3 install virtualenv --user # 默认使用 python3 作为虚拟环境解释器
3. virtualenv 使用
3.1 创建虚拟环境
virtualenv 命令格式:
$ virtualenv [OPTIONS] DEST_DIR
Eg1. 创建目录venv
为虚拟python解释器的运行环境,python解释器为默认:
$ virtualenv venv
Eg2. 指定虚拟python解释器为python3.6,隔绝系统环境site-packages
目录,虚拟环境目录为venv3.6
$ virtual --no-site-packages -p python3.6 ~/venv3.6
virtualenv各种其他命令如下:
用法:
$ virtualenv [OPTIONS] DEST_DIR
选项:
--version
显示当前版本号。
-h, --help
显示帮助信息。
-v, --verbose
显示详细信息。
-q, --quiet
不显示详细信息。
-p PYTHON_EXE, --python=PYTHON_EXE
指定所用的python解析器的版本,比如 --python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 默认使用的是当前系统安装(/usr/bin/python)的python解析器
--clear
清空非root用户的安装,并重头开始创建隔离环境。
--no-site-packages
令隔离环境不能访问系统全局的site-packages目录。
--system-site-packages
令隔离环境可以访问系统全局的site-packages目录。
--unzip-setuptools
安装时解压Setuptools或Distribute
--relocatable
重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。
--distribute
使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。
--extra-search-dir=SEARCH_DIRS
用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。
--never-download
禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。
--prompt==PROMPT
定义隔离环境的命令行前缀。
3.2 激活虚拟环境
激活虚拟环境的命令格式
$ source DEST_DIR/bin/activate
Eg1.
username@localhost:~$ source ~/venv/bin/activate
(venv) username@localhost:~$
Eg2.
username@localhost:~$ source ~/venv3.6/bin/activate
(venv3.6) username@localhost:~$
3.3 安装packages
更新pip
(venv) $ pip install --upgrade pip
(venv) $ pip list
安装其它 packages
(venv) $ pip install tensorflow-gpu
3.4 退出虚拟环境
(venv) username@localhost:~$ deactivate
username@localhost:~$