virtualenvwrapper
- virtualenvwrapper是标准virtualenv工具的一个补充。它简化了管理虚拟环境的过程,有创建和删除虚拟环境的包装器等等。
- 其他的一些功能如下。
- 命令的标签完成。
- 所有操作都有可配置的钩子。
- 插件系统。
目录
为什么使用虚拟环境?
为什么使用virtualenvwrapper而不是virtualenv?
开始使用
演示
回顾
进阶
超越
为什么使用虚拟环境?
- 虚拟环境可以更好地管理你的工作流程。
- 减少了产生依赖性冲突的机会。
- 为你的Python包库提供了结构,因为你的包库没有组织,可能几乎不可能找到任何东西,或者管理。
为什么使用virtualenvwrapper而不是virtualenv?
-
virtualenv将venv方向存储在项目目录中,而virtualenvwrapper则将所有的虚拟环境存储在一起。
- 这更好,因为它可以更好的管理你所有的虚拟环境。在下图所示的目录中找到它:
$ cd ~/.virtualenvs -
消除了每次都要找到激活脚本来启用虚拟环境的需要。现在你只需要在你的终端输入以下命令:
$ workon {name_of_enviornment} -
然后要禁用环境就更简单了,只需在终端键入以下命令即可:
$ deactivate
开始工作

在我们开始之前需要注意的是,支持的shell是bash、ksh和zsh。对于windows来说,使用virtualenvwrapper-win,它是virtualenvwrapper在windows下的一个重新实现。
-
要开始使用,首先我们需要安装virtualenvwrapper
$ sudo pip install virtualenvwrapper -
现在我们可以开始配置shell,将virtualenvwrapper的命令加载到shellrc文件中,该文件可以是.bashrc或任何类似的文件,只要在你的配置文件中加入以下几行即可。(记住要保存)
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv source /usr/local/bin/virtualenvwrapper.sh -
现在你可以用virtualenvwrapper制作你的虚拟环境;安装完成。
$ mkvirtualenv {name_of_environment}
演示
-
在这个演示中,我们将设置一个可能的数据科学工程师的虚拟环境。
-
让我们从创建环境开始
$ mkvirtualenv data_science -
它应该自动把你放入环境中,但如果你退出,这就是你将再次进入环境的方法。
$ workon data_science -
现在让我们安装几个包来演示一下其他的功能。注意显示我们在一个虚拟环境中的指示。
(data_science)$ pip install numpy (data_science)$ pip install matplotlib ... # To view the packages on the environment (data_science)$ lssitepackages # To delete environment (data_science)$ rmvirtualenv data_science # Help command which will show all the commands and info on how to use them $ virtualenvwrapper
回顾一下
问题1
如何用virtualenvwrapper启用一个环境?
使用激活脚本
$ env {name_of_environment}.
work {name_of_environment} 启用环境。
workon {name_of_environment} 启用环境。
$ workon {name_of_environment} 是命令。
问题2
如何查看当前虚拟环境中的软件包
(name_of_environment)$ ls sitepackages
(name_of_environment)$ opensitepackages
$ ls sitepackages
(name_of_environment)$ lssitepackages
(name_of_environment)$ lssitepackages就是这个命令。
高级
覆盖更多的一些命令和它们的所有参数。
$ workon [(-c|--cd)|(-n|--no-cd)] [environment_name|"."]
如果有-c或-cd标志,它也是将工作目录更新为项目目录。如果你使用-n或--no-cd,它将不会改变你的工作目录。
如果用.来代替环境名称,那么它将使用当前工作目录的名称。
$ add2virtualenv directory1 directory2 ...
在某些情况下,你可能希望与其他virtualenv共享你的软件包。这允许你通过使用命令和列出其他软件包的目录来实现。
$ setvirtualenvproject [virtualenv_path project_path]
通过OpenGenus的这篇文章,你一定对Python中的virtualenvwrapper有了完整的了解。