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. 什么样的类才算是一种可重用的组件,即JavaBean?

    每一个类实现了Bean的规范才可以由Spring来接管,那么Bean的规范是什么呢? 必须是个公有(public)类 有无参构造函数 用公共方法暴露内部成员属性(getter,setter) 实现这样 ...

  2. 软件151 王楚博 aodp

    一.AOP是OOP的延续,是(Aspect Oriented Programming)的缩写,意思是面向切面编程. AOP(Aspect Orient Programming),作为面向对象编程的一种 ...

  3. Linux SSH登录服务器报ECDSA host key "ip地址" for has changed and you have requested strict checking错误

    错误:ECDSA host key "ip地址" for  has changed and you have requested strict checking. 解决方案:在终端 ...

  4. vue项目总结

    1.项目的结构

  5. perceptual loss

    https://arxiv.org/abs/1603.08155 两个网络:image transfer网络和loss网络 image transfer网络: 将输入图片y通过映射f W (x)得到输 ...

  6. java富文本编辑器KindEditor

    在页面写一个编辑框: <textarea name="content" class="form-control" id="content&quo ...

  7. 利用Django实现webUI展示

    1.说明 最近老大想要做一个webUI界面,为了展示我们数据中心工作内容,需要把各自的工作内容用webUI展示出来.目前我负责的做公司名称归一化的问题. 2.Django实现web 具体实现是完全按照 ...

  8. mysql命令行下创建数据库,创建表,插入数据,查询数据

    1.创建数据库 mysql> create DATABASE booktik -> ;Query OK, 1 row affected (0.02 sec) 2.创建表 mysql> ...

  9. 关于while read line 循环中变量作用域的问题

    前一阵用shell写了一个从数据库中抽取数据生成.xml文件的脚本,要求是每个文件中只生成1000条数据.于是用到了while read line 作为循环. 在制作文件计数器的时候发现了一个问题,在 ...

  10. (原创)Spice 网表范例

    一.常规网表 Inverter .lib "D:\lib\l0040ll_v1p4_1r.lib" TT .param SUPPLY=.1V .param T=10ns .para ...