我曾经写过一篇virtualenv的博客:http://www.cnblogs.com/anpengapple/p/5907416.html 总体来讲还是适用的,不过稍微傻了一点。这一篇的内容有两个:首先是对上一篇进行两点补充,然后是介绍一个新的玩具——virtualenvwrapper。

关于上一次介绍virtualenv的补充:

1、virtualenv目录不需要拷贝两份到/usr/local中,只需要拷贝一份即可,然后把里面的virtualenv.py文件拷贝一份,放在同一目录下,改名为virtualenv3.py;内容的改法和软链接的建立就跟之前一样了。

2、其实更正确的姿势是,使用-p选项控制python的版本

virtualenv -p /usr/bin/python2. env

这样就建立了一个python2.7环境的虚拟环境env。

3、我曾见过这样一种情况,在本机已经安装过某个库,在虚拟环境中就无法再安装了,会报错。但是虚拟环境中又没有安装这个库,不能直接使用。解决办法是,加个开关

virtualenv env --no-site-packages

这样就能把本机环境中的库全部引入虚拟环境中。在虚拟环境中可以进行库的升级,而不会影响本机中原来库的版本(黑魔法简直帅到飞起)。

好了,下面开始介绍virtualenvwrapper。这个东西是virtualenv的扩展工具,可以方便地管理和使用不同的虚拟环境。安装过程很简单

sudo easy_install virtualenvwrapper

这么一行命令即可。安装好之后,在/usr/local/bin/virtualenvwrapper.sh中写着virtualenvwrapper的使用方法。。。当然,看英文还有点麻烦,我简单地说一下:

首先在$HOME下创建一个隐藏目录

mkdir $HOME/.virtualenvs

然后打开~/.bashrc文件,在结尾添加两行

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

然后执行

source ~/.bashrc

之后virtualenvwrapper就设置好了。之后,可以使用 workon 命令查看下当前virtualenvwrapper中的虚拟环境列表。。。啥也没出来对吧,不用懵逼,还没使用virtualenvwrapper来建立虚拟环境,当然没有列表了。

接下来可以使用

mkvirtualenv env

来创建一个虚拟环境。再用workon命令看看,是不是已经有一个名为env的虚拟环境了?

那么,接下来要怎么使用呢?更简单了。

workon env

这样就进入了这个虚拟环境中了。接下来就可以尽情的pip了。要退出的话,还是正常的deactivate命令。

如果要删除这个虚拟环境,使用

rmvirtualenv env

即可。

同样滴,在使用mkvirtualenv 命令的时候,用-p选项可以指定使用哪一个python环境。

virtualenvwrapper的好处是,把虚拟环境全局管理起来了,不用针对每个项目建立。同一类项目可以建立同样的虚拟环境,也不用管它在哪,直接一个workon就可以。

还是那句话,等你用python开发项目多了,就知道虚拟环境有多重要了。不会使用的话,一定会被各种环境恶心吐的。

python虚拟环境virtualenv高级篇的更多相关文章

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

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

  2. Python 虚拟环境Virtualenv

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

  3. [python] 2、python使用pyaudio进行录音,及其在python虚拟环境virtualenv中安装遇到的问题

    1.pyaudio安装大背景 最近在做智能音箱,需要编写声音拾取代码,我先是百度两篇比较常见的用python进行录音的操作的文章: python写一个录音小程序:http://blog.csdn.ne ...

  4. [转载]windows下安装Python虚拟环境virtualenv,virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

  5. Python虚拟环境virtualenv

    用意 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. 安装 virtualenv本质上是个python包, 使用pip安装 pip inst ...

  6. 配置python虚拟环境Virtualenv及pyenv

    pyenv pyenv 可以让机器安装各种不同版本的python pyenv install --list 查看可以安装的python版本 pyenv versions 查看已安装的python版本 ...

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

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

  8. python虚拟环境virtualenv简介

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

  9. python虚拟环境virtualenv的安装与使用

    如果我们要同时开发多个应用程序,每个应用可能需要各自拥有一套“独立”的Python运行环境,我们可以使用virtualenv解决这个问题,它可以为一个应用创建一套“隔离”的Python运行环境. 一. ...

随机推荐

  1. 再说优化MySQL索引

    这几天开发尤其重视数据库索引的优化,是一件好事情,开发特意提过来几个要删除的索引,oh!我的佛陀呀!历史上出现过因为评估不到位,删索引引发故障的案例.那么有什么办法可以评估索引是否合理呢? perco ...

  2. webpack 报错 No PostCSS Config found 解决方案。

    webpack 报错 No PostCSS Config found  这个问题我在百度上找了好久,也没有找到解决方案,最后没有办法只能自己去啃官方文档,本案例在本人的webpack 学习感悟中已经写 ...

  3. 云主机安装Tomcat上传自己的网站

    前几天在DigitalOcean上买一个云服务器(1g内存,1核,25gssd,1tb流量,一个月5$,按天收费),用github的students developer package里面的优惠码拿到 ...

  4. Bundle传递数据,Handler更新UI

    Bundle主要用于传递数据:它保存的数据,是以key-value(键值对)的形式存在的. Bundle经常使用在Activity之间或者线程间传递数据,传递的数据可以是boolean.byte.in ...

  5. Axios的详细配置和相关使用

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. Features 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http  ...

  6. Hadoop学习笔记(8) ——实战 做个倒排索引

    Hadoop学习笔记(8) ——实战 做个倒排索引 倒排索引是文档检索系统中最常用数据结构.根据单词反过来查在文档中出现的频率,而不是根据文档来,所以称倒排索引(Inverted Index).结构如 ...

  7. 以面向对象的思想实现数据表的添加和查询,JDBC代码超详细

    以面向对象的思想编写JDBC程序,实现使用java程序向数据表中添加学生信息,并且可以实现给定身份证号查询学生信息或给定准考证号查询学生信息. 创建的数据表如下: CREATE TABLE EXAMS ...

  8. Golang把所有包括底层类库,输出到stderr的内容, 重新定向到一个日志文件里面?

    不论应用是如何部署的,我们都期望能扑捉到应用的错误日志, 解决思路: 自己写代码处理异常拦截,甚至直接在main函数中写异常拦截. stderr重定向到某个文件里 使用 syscall.Dup2 第一 ...

  9. libevent学习笔记 —— 第一个程序:计时器

    用libevent写个定时器其实步骤不多: 1.初始化libevent 2.设置事件 3.添加事件 4.进入循环 由于定时事件触发之后,默认自动删除,所以如果要一直计时,则要在回调函数中重新添加定时事 ...

  10. PostgreSQL Metadata

      http://www.devart.com/dotconnect/postgresql/docs/MetaData.html In this overload first parameter is ...