Python我的Python自学之路

隔离的python环境: virtualenv

2016-11-27  本文已影响209人  windgo
平行空间

virtualenv是一个工具, 用来创建隔离的Python环境, 可以称为”虚境”. 在这些类似于平行空间的"虚境"之间, 整个python环境的库, 依赖, 都是互相不干扰的. 能够避免拥有多个python应用时, 相互干扰的情况.

virtualenv的官方网站是 https://virtualenv.pypa.io

0x01安装

$ [sudo] pip install virtualenv 

0x02使用

创建虚境

$ virtualenv ENV

会生成以下目录:

进入虚境

$ source bin/active

退出虚境

$ deactivate ~

删除虚境

$ rm -r /path/to/ENV

继承系统python环境

 virualenv --system-site-packages ENV

虚境将会继承系统安装的packages

不带bin/python使用Vituralenv

有时候, 你不能, 或者不想使用虚境的Python解释器, 例如在一个mod_python或者mod_wsgi环境中. 但是你可以使用虚境中的库.
你只需要这样:

activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

注意: 这种方式下,会改变sys.path和sys.prefix, 另外系统python的库同时可访问, 并且不能退出虚境.

浮动虚境

通常虚境是绑定到特定路径(目录)的, 你不能移动它, 或者复制到另一个电脑. 通过以下命令可以创建浮动的虚境, 能够被复制或者移动, 但是目前可能有问题, 是测试状态.

创建浮动虚境:

$ virtualenv --relocatable ENV

使用pip导出和导入虚境配置

pip freeze > reuirement.txt
pip install -r requirement.txt

这应该是正常的实现类似浮动虚境的方式.

--extra-search-dir选项

允许使用虚境之外的pip等安装工具.

0x03 参考

上一篇 下一篇

猜你喜欢

热点阅读