如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还在本地继续安装,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?

解决方案:虚拟环境

虚拟环境可以搭建独立的python运行环境,使得单个项目的运行环境与其它项目互不影响

所有的虚拟环境,都位于/home/下的隐藏目录.virtualenvs下

准备:

要先安装pip 安装工具

安装虚拟环境virtualenv:

pip install virtualenv

创建虚拟环境 :

virtualenv [虚拟环境名]

例如:创建一个叫 python_test的虚拟环境:

virtualenv python_test

预设在简历虚拟环境时候,会依赖系统环境中的site packages, 如果想完全不依赖系统的packages,可以加上参数--no-site-packages

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

虚拟环境管理工具 Virtualenvwrapper:

Virtualenvwrapper 是一個 Virtualenv 的 extension,可使虚拟环境的管理变得更容易

相信来说,virtualenvwrapper 提供下述功能:

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

  2. 管理(新增、移除、复制)所有的虚拟环境

  3. 可以使用一个命令切换虚拟环境

  4. Tab补全虚拟环境的名字

  5. 每个草走哦都提供允许使用者自定的hooks

  6. 可撰写容易分享的extension plugin系统

安装套件:

pip install virtualenvwrapper

使用virtualenvwrapper:

创建虚拟环境:

mkvirtualenv [名称]

查看已经安装虚拟环境的列表:

workon

或者:

lsvirtualenv [-b] [-l] [-h]

-b 是简短模式; -l 是详细模式(预设); -h 是help信息

启动虚拟环境:

workon [虚拟环境名称]

退出虚拟环境:

deactivate

移除虚拟环境:

rmvirtualenv [名称]

复制虚拟环境:

cpvirtualenv [旧环境] [新环境名称]

virtualenvwapper还有更多功能,详细请参照:virtualenvwapper官网

python开发必备神器 Virtualenv及管理工具Virtualenvwrapper的更多相关文章

  1. TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具

    怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...

  2. modern.IE – Web 开发必备的 IE 浏览器测试工具

    modern.IE 是微软推出的一个开发人员中心,提供免费的工具和资源,旨在使您能够花更少的时间来测试各种版本的 Internet Explorer,并留出更多时间在现代 Web 上构建重要的内容.m ...

  3. Unity3D开发必备神器(Visual Studio Tools for Unity)

    Unity3D开发必备神器(Visual Studio Tools for Unity) 开发Unity3D程序你用的什么IDE呢? 1.MonoDevelop 2.VS 可能你的回答是这样的,我用的 ...

  4. python virtualenv 管理工具 - virtualenvwrapper

    我们使用python virtualenv构建不同的python环境,python3 也加入了virtualenv 模块. virtualenvwrapper 提供了更便捷的 virtualenv环境 ...

  5. 天下武功,无快不破,Python开发必备的6个库

    01 Python 必备之 PyPy PyPy 主要用于何处? 如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器.与使用普通 ...

  6. pip:带你认识一个 Python 开发工作流程中的重要工具

    摘要:许多Python项目使用pip包管理器来管理它们的依赖项.它包含在Python安装程序中,是Python中依赖项管理的重要工具. 本文分享自华为云社区<使用Python的pip管理项目的依 ...

  7. 吴裕雄--天生自然Django框架开发笔记:Django Admin 管理工具

    Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: ...

  8. Git--团队开发必备神器

    花了两天时间专门搞了一下git.整理一下分享给大家.以下我们開始.. . 转载请注明出处: http://blog.csdn.net/Hello_Chillax/article/details/474 ...

  9. Swift开发必备技巧:内存管理、weak和unowned

    因为 Playground 本身会持有所有声明在其中的东西,因此本节中的示例代码需要在 Xcode 项目环境中运行.在 Playground 中可能无法得到正确的结果. 不管在什么语言里,内存管理的内 ...

随机推荐

  1. Heap-451. Sort Characters By Frequency

    Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...

  2. css字体中英速查表

    例1(小米米官网):font-family: "Arial","Microsoft YaHei","黑体","宋体",s ...

  3. Java并发(二)-实现同步

    并发带来的问题 先看一个单例类,后文中都会用到: public class SimpleWorkingHardSingleton { private static SimpleWorkingHardS ...

  4. 【HDU5126】 stars k-d树

    题目大意:有$m$个操作,分两种:在指定三维坐标内加入一个点,询问指定空间内点的数量. 其中$m≤5*10^{4},1≤x,y,z≤10^9$ 这题几乎就是裸的$k-d$树啊.我们动态维护一棵$k-d ...

  5. 归并排序的理解和实现(Java)

    归并排序介绍 归并排序(Merge Sort)就是利用归并的思想实现的排序方法.它的原理是假设初始序列含有fn个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n2\fr ...

  6. POJ 1287

    #include<iostream> #include<stdio.h> #define MAXN 100 #define inf 1000000000 using names ...

  7. rabbitmq系列四 之路由

    1.路由 在上一个的教程中,我们构建了一个简单的日志记录系统.我们能够向许多接收者广播日志消息. 在本次教程中,我们向该系统添加一些特性,比如,我只需要严重错误(erroe级别)的部分日志打印到磁盘文 ...

  8. AngularJS Directive 命名规则

    使用规则 在HTML代码中,使用的是连接符的形式,下面我们对比看看命名和使用的对应字符串: 命名 使用 people people peopleList people-list peopleListA ...

  9. 《LeetBook》leetcode题解(17):Letter Combinations of a Phone Number[M]

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...

  10. Disconf 学习系列之Disconf 与 Diamond的横向对比(图文详解)

    不多说,直接上干货! Disconf 学习系列之Disconf是什么? Disconf 是来自百度的分布式配置管理平台,包括百度.滴滴出行.银联.网易.拉勾网.苏宁易购.顺丰科技 等知名互联网公司正在 ...