virtualenv

virtualenv 是一个可以在同一计算机中隔离多个python版本的工具。有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都装到一起,经常会导致问题。所以需要一个工具能够将这两种或几种不同版本的环境隔离开来,需要哪个版本就切换到哪个版本做为默认版本。

virtualenv 既是满足这个需求的工具。它能够用于创建独立的Python环境,多个Python相互独立,互不影响,能够:

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

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

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

安装:

  1. pip install virtualenv

使用方法

1. 创建环境

  • virtualenv [新环境名] :这会再当前目录下创建一个新环境目录

  • 可使用 virtualenv --help 来查看如何使用。可以使用参数 --python=/usr/bin/python3 来创建一个已经安装的的Python环境。

2. 使用环境

  • 切换到新环境目录

  • 执行:source ./bin/activate 来激活环境,激活后在命令行的前面会出现新环境名称

  • 接下来可使用pip命令安装新环境需要的各种包。(pip命令在创建新环境时自带)

3. 退出虚拟环境

  • deactivate

  • 如果要删除虚拟环境,只需退出虚拟环境后,删除对应的虚拟环境目录即可。不影响其他环境。

4. 注意事项

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

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


virtualenvwrapper

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

  1. 将所有虚拟环境整合在一个目录下
  2. 管理(新增,删除,复制)虚拟环境
  3. 切换虚拟环境

安装

  1. pip install virtualenvwrapper

使用方法

1. 初始配置

默认virtualenvwrapper安装在/usr/local/bin下面,实际上需要运行virtualenvwrapper.sh文件才行;所以需要先进行配置一下:

  • 创建虚拟环境管理目录: mkdir $HOME/.local/virtualenvs

  • 在~/.bashrc中添加行:

export VIRTUALENV_USE_DISTRIBUTE=1 # 总是使用 pip/distribute

export WORKON_HOME=$HOME/.local/virtualenvs # 所有虚拟环境存储的目录

if [ -e $HOME/.local/bin/virtualenvwrapper.sh ];

then

      source $HOME/.local/bin/virtualenvwrapper.sh

else if [ -e /usr/local/bin/virtualenvwrapper.sh ];then

       source /usr/local/bin/virtualenvwrapper.sh

fi

fi

export PIP_VIRTUALENV_BASE=$WORKON_HOME

export PIP_RESPECT_VIRTUALENV=true
  • 启动 virtualenvwrapper :

     source ~/.bashrc
    

      

2. 使用方法

所有的命令可使用:virtualenvwrapper --help 进行查看,这里列出几个常用的:

  • 创建基本环境:mkvirtualenv [环境名]

  • 删除环境:rmvirtualenv [环境名]

  • 激活环境:workon [环境名]

  • 退出环境:deactivate

  • 列出所有环境:workon 或者 lsvirtualenv -b

配上别名设置:

# virtualenv alias vte='virtualenv' alias mkvte='mkvirtualenv' alias deact='deactivate' alias rmvte='rmvirtualenv'

所有命令都可在后面使用 --help 参数查看具体用法!

Python 虚拟环境[virtualenv/virtualenvwrapper]设置的更多相关文章

  1. python虚拟环境 -- virtualenv , virtualenvwrapper

    virtualenv -- python虚拟沙盒 有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 一.安装 pip install virtualenv ...

  2. python虚拟环境--virtualenv和virtualenvwrapper

    python虚拟环境--virtualenv和virtualenvwrapper http://www.cnblogs.com/technologylife/p/6635631.html https: ...

  3. Python 虚拟环境Virtualenv

    本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境  和 本地环境没有关系,随时可以删除这个隔离 ...

  4. Centos7 python虚拟环境virtualenv和virtualenvwrapper简单介绍

    我的系统版本是 [root@localhost ~]# cat /etc/os-release 我的Python版本是 [root@localhost ~]# python3 -V 关于如何安装Pyt ...

  5. 使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python

    virtualenv 系统中的多个python混用会导致$PYTHONPATH混乱,或者各个工程对于package的版本要求不同等等情况.有一个简单的解决方案就是用virtualenv来隔离多个pyt ...

  6. Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)

    一.virtualenv virtualenv是如何创建"独立"的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令sour ...

  7. python虚拟环境virtualenv高级篇

    我曾经写过一篇virtualenv的博客:http://www.cnblogs.com/anpengapple/p/5907416.html 总体来讲还是适用的,不过稍微傻了一点.这一篇的内容有两个: ...

  8. windows下python虚拟环境virtualenv安装和使用

    前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装和使用. 环境信息 操作系统:windows10 pytho ...

  9. python虚拟环境virtualenv简介

    参考网站: https://realpython.com/python-virtual-environments-a-primer/ 一. 创建一个新的虚拟环境 # Python 2: $ virtu ...

随机推荐

  1. sqlserver常用存储过程基本语法

    一.定义变量--简单赋值 declare @a intset @a=5 print @a --使用select语句赋值 declare @user1 nvarchar(50) select @user ...

  2. 整数中x出现的次数

    求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.ACMer ...

  3. flask第一章 flask启动 路由视图 FlaskRequest jinja2 FlaskSession

    一.简单了解flask web框架 优点: 小而精,组件只有session,第三方机构强烈支持flask,极其简单 缺点: 由于第三方软件的关系,稳定性相对较差,flask-session 扩展知识: ...

  4. 实现对HashMap的value排序

    问题:如何对HashMap中的value值进行排序 关键点:1.取HashMap的Map.Entry,放入List2.利用Collections.sort(List, Comparator<? ...

  5. Excel--------实用功能(数据对比)

    --excel数据在sql中查询展示出来 SELECT * FROM (SELECT '101001' as code ,'上海宝山站' as name union allSELECT '102083 ...

  6. (转)ArcGIS Runtime for Android 使用异步GP服务绘制等值线

    关于基于Android上ArcGIS Server GP服务的调用,已经有前辈给出了很好的例子: http://blog.csdn.net/esrichinacd/article/details/92 ...

  7. shiro的单机版 和 集群版

    在我们的开发当中  我们一般权限都是个 比较繁琐 但又必不可少的 一部分 [不管我们的 数据库设计  还是我们采用何种技术 我们的权限库表 大多都是大同小异  业务逻辑也是如此] 在我们不使用任何框架 ...

  8. LIMIT用法

    select * from employees order by hire_date DESC LIMIT 0,3; 直接给语句说明:根据hire_date 降序排列,LIMIT 第一个参数表示从第几 ...

  9. 如何快速地开发一个微信小程序

    如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...

  10. 没有与这些操作数匹配的 "<<" 运算符 操作数类型为: std::ostream << std::string

    错误显示:没有与这些操作数匹配的 "<<" 运算符       操作数类型为:  std::ostream << std::string 错误改正:要在头文 ...