Python虚拟环境Virtualenv详解

1,453 阅读1分钟

virtualenv简介

virtualenv用来创建独立的Python虚拟环境,可以将每个项目与其他项目独立开来,互不影响,解决了依赖包版本冲突的问题。

安装virtualenv

virtualenv是一个Python包,我们采用pip(Python的包管理器)来安装。假设我们已经安装好了pip,就可以使用pip来安装我们所需要的包。

$ pip install virtualenv

创建Python虚拟环境

利用 virtualenv [虚拟环境名称] 来创建虚拟Python环境,在虚拟环境里用pip安装的包都会安装到当前的虚拟环境中。

$ virtualenv cms

如果系统里安装了不同的Python版本,可以使用--python来指定虚拟环境的python版本。

$ virtualenv --python /usr/local/webserver/python3.6/bin/python3.6 cms

默认情况下虚拟环境不会依赖系统环境的site-packages,如果想依赖系统环境的site-packages,可以使用--system-site-packages来设置。

$ virtualenv --system-site-packages cms

启动和退出虚拟环境

启动虚拟环境:activate

[...]$ source cms/bin/activate
(cms)[...]$

退出虚拟环境:deactivate

(cms)[...]$ deactivate
[...]$

使用virtualenvwrapper

virtualenvwrapper是virtualenv的扩展工具,可以方便的创建、删除、复制、切换不同的虚拟环境。

$ pip install virtualenvwrapper

virtualenvwrapper提供了如下命令来操作虚拟环境:

  • 创建虚拟环境:mkvirtualenv [虚拟环境名称]
  • 列出虚拟环境:lsvirtualenv
  • 切换虚拟环境:workon [虚拟环境名称]
  • 查看当前环境安装了哪些包:lssitepackages
  • 进入当前环境的目录:cdvirtualenv [子目录名]
  • 进入当前环境的site-packages目录:cdsitepackages [子目录名]
  • 控制当前环境是否使用global site-packages:toggleglobalsitepackages
  • 复制虚拟环境:cpvirtualenv [source] [dest]
  • 退出虚拟环境:deactivate
  • 删除虚拟环境:rmvirtualenv [虚拟环境名称]