美文网首页Python我的Python自学之路
隔离的python环境: virtualenv

隔离的python环境: virtualenv

作者: windgo | 来源:发表于2016-11-27 11:23 被阅读209次
平行空间

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

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

0x01安装

$ [sudo] pip install virtualenv 

0x02使用

创建虚境

$ virtualenv ENV

会生成以下目录:

  • ENV
    整个环境的目录
  • ENV/lib, ENV/include
    这个环境的安装的库文件
  • ENV/lib/pythonX.x/site-packages/
    本环境安装的包在这个目录下
  • ENV/bin
    python的执行文件所在

进入虚境

$ 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 参考

相关文章

网友评论

    本文标题:隔离的python环境: virtualenv

    本文链接:https://www.haomeiwen.com/subject/ktxnpttx.html