Python虚拟环境Virtualenv使用教程

   这篇文章主要介绍了Python虚拟环境Virtualenv简明教程,本文整合了两篇关于Virtualenv的使用教程,相信大家有通过本文一定可以学会如何使用Virtualenv,需要的朋友可以参考下

  virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:

  1. 在没有权限的情况下安装新套件

  2. 不同应用可以使用不同的套件版本

  3. 套件升级不影响其他应用

  安装

  代码如下:

  sudo apt-get install python-virtualenv

  使用方法

  [code]

  virtualenv [虚拟环境名称]

  如,创建**ENV**的虚拟环境

  代码如下:

  virtualenv ENV

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

   代码如下:

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

  启动虚拟环境

   代码如下:

  cd ENV

  source ./bin/activate

  注意此时命令行会多一个(ENV),ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去。

  退出虚拟环境

   代码如下:

  deactivate

  在虚拟环境安装Python套件

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

  代码如下:

  pip install [套件名称]

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

  代码如下:

  export PIP_REQUIRE_VIRTUALENV=true

  或者让在执行pip的时候让系统自动开启虚拟环境:

   代码如下:

  export PIP_RESPECT_VIRTUALENV=true

  Virtualenvwrapper

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

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

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

  3. 切换虚拟环境

  4. ...

  安装

   代码如下:

  sudo easy_install virtualenvwrapper

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

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

  代码如下:

  mkdir $HOME/.virtualenvs

  在~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs

  在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh

  运行: source ~/.bashrc

  此时virtualenvwrapper就可以使用了。

  列出虚拟环境列表

   代码如下:

  workon

  也可以使用

   代码如下:

  lsvirtualenv

  新建虚拟环境

  复制代码 代码如下:

  mkvirtualenv [虚拟环境名称]

  启动/切换虚拟环境

   代码如下:

  workon [虚拟环境名称]

  删除虚拟环境

  代码如下:

  rmvirtualenv [虚拟环境名称]

  离开虚拟环境

   代码如下:

  deactivate

  ------------------------------------------------------------------------------------------------------------------------------------------------------------

  virtualenv通过创建独立Python开发环境的工具, 来解决依赖、版本以及间接权限

  问题. 比如一个项目依赖Django1.3 而当前全局开发环境为Django1.7, 版本跨度过大, 导致不兼容使项目无法正在运行, 使用virtualenv可以解决这些问题.

  virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库

  1. 安装Virtualenv

  使用pip安装Virtualenv, 使用过python的都应该知道pip包管理神器吧, 即使不知道, 网站也有大把的教程, 不过推荐查看官方安装指南

   代码如下:

  $ pip install virtualenv

  //或者由于权限问题使用sudo临时提升权限

  $ sudo pip install virtualenv

  2. virtualenv基本使用

  现在开始使用virtualenv管理python环境

   代码如下:

  ➜ Test git:(master) ✗ virtualenv ENV #创建一个名为ENV的目录, 并且安装了ENV/bin/python, 创建了lib,include,bin目录,安装了pip

  New python executable in

  Installing setuptools, pip...done.

  ➜ Test git:(master) ✗ cd ENV

  ➜ ENV git:(master) ✗ ll

  drwxr-xr-x 14 andrew_liu staff 476 12 8 08:49 bin

  drwxr-xr-x 3 andrew_liu staff 102 12 8 08:49 include

  drwxr-xr-x 3 andrew_liu staff 102 12 8 08:49 lib

  lib,所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下

  bin,bin/python是在当前环境是使用的python解释器

  如果在命令行中运行virtualenv --system-site-packages ENV, 会继承/usr/lib/python2.7/site-packages下的所有库, 最新版本virtualenv把把访问全局site-packages作为默认行为

  default behavior.

  2.1. 激活virtualenv

  代码如下:

  #ENV目录下使用如下命令

  ➜ ENV git:(master) ✗ source ./bin/activate #激活当前virtualenv

  (ENV)➜ ENV git:(master) ✗ #注意终端发生了变化

   代码如下:

  #使用pip查看当前库

  (ENV)➜ ENV git:(master) ✗ pip list

  pip (1.5.6)

  setuptools (3.6)

  wsgiref (0.1.2) #发现在只有这三个

  pip freeze #显示所有依赖

  pip freeze > requirement.txt #生成requirement.txt文件

  pip install -r requirement.txt #根据requirement.txt生成相同的环境

  2.2. 关闭virtualenv

  使用下面命令

   代码如下:

  $ deactivate

  2.3. 指定python版本

  可以使用-p PYTHON_EXE选项在创建虚拟环境的时候指定python版本

  代码如下:

  #创建python2.7虚拟环境

  ➜ Test git:(master) ✗ virtualenv -p /usr/bin/python2.7 ENV2.7

  Running virtualenv with interpreter /usr/bin/python2.7

  New python executable in ENV2.7/bin/python

  Installing setuptools, pip...done.

   代码如下:

  #创建python3.4虚拟环境

  ➜ Test git:(master) ✗ virtualenv -p /usr/local/bin/python3.4 ENV3.4

  Running virtualenv with interpreter /usr/local/bin/python3.4

  Using base prefix '/Library/Frameworks/Python.framework/Versions/3.4'

  New python executable in ENV3.4/bin/python3.4

  Also creating executable in ENV3.4/bin/python

  Installing setuptools, pip...done.

  到此已经可以解决python版本冲突问题和python库不同版本的问题

  3. 其他

  3.1. 生成可打包环境

  某些特殊需求下,可能没有网络, 我们期望直接打包一个ENV, 可以解压后直接使用, 这时候可以使用virtualenv -relocatable指令将ENV修改为可更改位置的ENV

  代码如下:

  #对当前已经创建的虚拟环境更改为可迁移

  ➜ ENV3.4 git:(master) ✗ virtualenv --relocatable ./

  Making script ./bin/easy_install relative

  Making script ./bin/easy_install-3.4 relative

  Making script ./bin/pip relative

  Making script ./bin/pip3 relative

  Making script ./bin/pip3.4 relative

  3.2. 获得帮助

   代码如下:

  $ virtualenv -h

  当前的ENV都被修改为相对路径, 可以打包当前目录, 上传到其他位置使用

  这并不能使虚拟环境跨平台使用

  4. 参考链接

  virtualenv官方文档 http://virtualenv.readthedocs.org/en/latest/virtualenv.html

时间: 2024-08-31 09:43:03

Python虚拟环境Virtualenv使用教程的相关文章

Python lxml模块安装教程

  这篇文章主要介绍了Python lxml模块安装教程,本文分别讲解了Windows系统和Linux系统下的安装教程,需要的朋友可以参考下 lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库.lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯Python API的简洁性,与大家熟知的ElementTree API兼容但比之更优越!但安装lxml却又有点麻烦,因为

[Python]架设python虚拟环境以及部署PythonWeb服务

<建议:使用Python搭建Web服务时使用sqlite来做轻度数据库操作,比较方便,mysql就有点重>  偶然了解到Python的虚拟环境,虚拟环境的作用:与该机器上原Python环境相隔离,对原Python环境不造成任何影响,推荐使用.  前提条件,该机器上具备Python环境.  架设步骤: 参考文档:官方文档虚拟环境架设  实际操作(以Ubuntu为例): 1.安装pip apt-cache search pip | grep python python-pip - Alternat

python虚拟环境virualenv的安装与使用_python

前言 在安装完python及pip,setuptools等工具后,即可以创建virualenv虚拟环境了,这个类似于虚拟机的工具,可以让同一台电脑中运行多个不同版本的python程序,互不影响,不用的时候,可以退出或删除,挺不错的一个开发工具. 一.安装virtualenv #install pip on mac brew install python curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python sudo easy_

编写Python CGI脚本的教程

  这篇文章主要介绍了编写Python CGI脚本的教程,CGI是Python和服务器软件连接的接口,需要的朋友可以参考下 你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现.当用户请求一个指定URL或者和网页交互(比如点击""提交"按钮)的时候,CGI脚本就会被web服务器启用.CGI脚本调用执行完毕后,它的输出结果就会被web服务器用来创建显示给用户的

使用SAE部署Python运行环境的教程

  这篇文章主要介绍了使用SAE部署Python运行环境的教程,SAE作为新浪的在线软件部署平台,在国内拥有一定的性价比,需要的朋友可以参考下 因为 GAE 在国内访问不便,所以平时有一些小应用,我都会放在 SAE 上面, 虽然 SAE 还有很多缺陷,但算是上手比较容易的一个了,最起码文档写的不错. 开发 SAE 上的应用,我一般都用 Flask,SAE 预装了 Flask,所以你可以直接用, 但我们难免会用一些没有预装的库. 如果是在以前,可能需要自己将 package 挨个 copy 到应用

Python爬虫学习系列教程

Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库的高级用法 5. Python爬虫入门五之URLError异常处理 6. Python爬虫入门六之Cookie的使用 7. Python爬虫入门七之正则表达式 二.爬虫实战 1. Python爬虫实战一之爬取糗事百科段子 2. Python爬虫实战二之爬取百度贴吧帖子 3. Py

python 服务端-求python服务端开发教程

问题描述 求python服务端开发教程 如题,本人只开发过Android本地应用这些,但是现在需要搞一个具有客户端和服务端的东西,想学一学python来做服务端开发,本人对服务端开发可以说是一窍不通......连python怎么为app提供数据都不是很了解.....网络的基础知识都学过了,linux也懂一些常用命令,求大神们推荐一本好一点的教程,适合服务端开发基础的,python的....谢谢各位了 解决方案 python开发web API有很多好用的坑i 框架flask小巧精炼

Python迭代用法实例教程_python

本文实例讲述了Python中迭代的用法,是一个非常实用的技巧.分享给大家供大家参考借鉴之用.具体分析如下: 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration). 在Python中,迭代是通过for ... in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码: for (i=0; i<list.length; i++) { n = list[i]; } 可以看出,Python的f

在树莓派2或树莓派B+上安装Python和OpenCV的教程_python

我的Raspberry Pi 2昨天刚邮到,这家伙看上去很小巧可爱. 这小家伙有4核900MHZ的处理器,1G内存.要知道,Raspberry Pi 2 可比我中学电脑实验室里大多数电脑快多了. 话说,自从Raspberry Pi 2发布以来,我收到了很多请求,要求我能写一个在它上面安装OpenCV和Python的详细说明. 因此如果你想在Raspberry Pi启动运行OpenCV和Python,就往下面看! 在博文的剩余部分,我将提供在Raspberry Pi 2 和Raspberry Pi