virtualenv用法梳理

前段时间为了部署网站上线,买了阿里云的服务器。不过选择ubuntu系统自带的是pyhton2.7版本。想在原有的系统上增加一个python3.5系统,于是准备用virtualenv创建虚拟环境进行安装。

virtualenv是什么?

virtualenv是一个创建隔绝的Python环境的工具。

为什么要创建虚拟环境?

它解决了“项目X依赖于版本1.x,而项目Y需要项目4.x”的两难问题,而且使你的全局site-packages目录保持干净和可管理。

安装步骤

pip install virtualenv

用法

创建虚拟环境
 virtualenv ENV  
  New python executable in 
  Installing setuptools, pip...done.
# 创建一个名为ENV的目录
# 安装了ENV/bin/python
# 创建了lib,include,bin目录,安装了pip
安装指定的python版本
$ virtualenv -p /usr/bin/python2.7 环境名
virtualenv -p /usr/bin/python3 环境名
或
virtualenv -p python3 环境名称
# 不指定版本则使用系统默认版本
virtualenv命令参数
$ virtualenv [OPTIONS] DEST_DIR
选项:
--version 显示当前版本号。
-h, --help 显示帮助信息。
-v, --verbose 显示详细信息。
-q, --quiet 不显示详细信息。
-p PYTHON_EXE 指定所用的python解析器的版本
比如 --python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 
默认使用的是当前系统安装(/usr/bin/python)的python解析器
--clear  清空非root用户的安装,并重头开始创建隔离环境。
--no-site-packages  默认,令隔离环境不能访问系统全局的site-packages目录。
--system-site-packages  令隔离环境可以访问系统全局的site-packages目录。
激活虚拟环境
cd venv
source bin/activate # Windows 系统下运行 Scripts\
# 出现(venv)前缀,当前环境切换为venv
退出虚拟环境
$ deactivate
实用技巧
记录安装的第三方模块
pip freeze > requirements.txt
# 若无重定向则直接打印出来
安装txt文件里所记录的所有第三方模块
pip install -r requirements.txt

virtualenv 原理

把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

参考文档:
[1] virtualenv 中文文档1.7
[2] Python指南 Virtualenv
[3] 廖雪峰Python教程 virtualenv库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容