Python Virtualenv 介绍

Posted Python开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Virtualenv 介绍相关的知识,希望对你有一定的参考价值。


编译:伯乐在线/刘志军 ,微信公号:Python之禅(ID:VTtalk)

foofish.net/virtualenv.html


动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目A在基于Python2的环境中运行,而项目B可以在基于Python3的环境中运行。Python通virtualenv工具管理虚拟环境。


安装 virtualenv


$ pip install virtualenv


使用方法


$ cd my_project_folder

$ virtualenv venv


执行完命令后它会在当前目录下创建文件夹,这个文件夹包含一些Python执行文件,以及pip副本,用于安装其他的packges。


.

├── bin

   ├── activate

   ├── activate.csh

   ├── activate.fish

   ├── activate_this.py

   ├── easy_install

   ├── easy_install-3.5

   ├── pip

   ├── pip3

   ├── pip3.5

   ├── python -> python3

   ├── python3

   ├── python3.5 -> python3

   └── wheel

├── include

   └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m

└── lib

    └── python3.5


此外在创建env的时候可以选择指定的Python解释器,例如下面是基于Python3创建的虚拟环境


$ virtualenv -p /usr/local/bin/python3 venv


默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 –no-site-packages建立虚拟环境


virtualenv --no-site-packages [虚拟环境名称]


激活虚拟环境


cd env

source ./bin/activate


激活成功后,在命令行会显示虚拟环境的名称,类似((env)Your-Computer:your_project UserName$)


退出虚拟环境


$ deactivate


如果想删除虚拟环境,那么直接运行rm -rf venv/命令即可。


在虚拟环境安装Python packages


Virtualenv 附带有pip安装工具,因此需要安装的packages可以直接运行:


pip install [套件名称]


如果没有启动虚拟环境,系统环境也安装了pip工具,那么packages将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:


export PIP_REQUIRE_VIRTUALENV=true


如果在没开启虚拟环境时运行pip,就会提示错误:


Could not find an activated virtualenv (required)


Virtualenvwrapper


Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:


  1. 将所有虚拟环境整合在一个目录下

  2. 管理(新增,删除,复制)虚拟环境

  3. 切换虚拟环境


安装Virtualenvwrapper


安装Virtualenvwrapper前需要virtualenv已近安装


$ pip install virtualenvwrapper


此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。


创建目录用来存放虚拟环境


mkdir $HOME/Envs


编辑~/.zshrc或~/.bashrc(根据你使用shell类型决定)export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 运行:$ source ~/.zshrc


此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:


1.列出虚拟环境列表


workon 或者 lsvirtualenv


2. 新建虚拟环境


mkvirtualenv [虚拟环境名称]


3. 启动/切换虚拟环境


workon [虚拟环境名称]


4. 删除虚拟环境


rmvirtualenv [虚拟环境名称]


5. 离开虚拟环境,和virutalenv一样的命令


deactivate


参考:

  • http://www.virtualenv.org/en/latest/

  • http://stackoverflow.com/questions/11372221/virtualenvwrapper-not-found

  • http://www.openfoundry.org/tw/tech-column/8516-pythons-virtual-environment-and-multi-version-programming-tools-virtualenv-and-pythonbrew

  • http://virtualenvwrapper.readthedocs.org/en/latest/index.html


看完本文有收获?请转发分享给更多人

关注「Python开发者」,提升Python技能

以上是关于Python Virtualenv 介绍的主要内容,如果未能解决你的问题,请参考以下文章

virtualenv系列 · 统一管理虚拟环境

ubuntu 中虚拟环境的搭建

Django项目科技在线成果转化平台的设计1_Virtualenvwrapper环境安装

Python Virtualenv 介绍

Robot Framework应用——在Virtualenv和Virtualwrapper的虚拟环境中启动Robot Framework的RIDE时报的错误问题的解决

Robot Framework应用——在Virtualenv和Virtualwrapper的虚拟环境中启动Robot Framework的RIDE时报的错误问题的解决