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

解决方案:虚拟环境

虚拟环境可以搭建独立的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. uiautomator2

    uiautomator2    该项目正在火热的开发中 uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库.其底层基于Google uiautomator,Go ...

  2. [Swift实际操作]七、常见概念-(9)使用定时组件Timer执行定时任务

    本文将为你演示计时器的使用,使用计时器可以每隔一定时间执行某个函数. 在左侧的项目导航区,打开视图控制器的代码文件:ViewController.swift现在开始编写代码,实现任务定时的功能.定义一 ...

  3. selenium+java iframe定位

      关于 driver.switchTo().frame(参数).这中间的参数表达有以下几种方式. driver.switchTo().frame(0):用<iframe>标签的位置数量来 ...

  4. csc命令

    CSC.exe把Visual C#程序代码编译成IL文件时,有着很多参数和开关选项.正确的了解和运用这些参数和开关有时会解 决一些看似很棘手的问题.下面就通过一张表来大致说明一下这些参数和开关的具体作 ...

  5. (转)CentOS7使用ACL精确控制文件和目录的访问权限

    原文:https://www.linuxidc.com/Linux/2018-01/150111.htm https://blog.csdn.net/maxiaoqiang1/article/deta ...

  6. Netty核心概念(8)之Netty线程模型

    1.前言 第7节初步学习了一下Java原本的线程池是如何工作的,以及Future的为什么能够达到其效果,这些知识对于理解本章有很大的帮助,不了解的可以先看上一节. Netty为什么会高效?回答就是良好 ...

  7. Filter应用之-验证用户是否已经登录

    过滤器: public class LoginFilter implements Filter{ @Override public void init(FilterConfig filterConfi ...

  8. Vue中使用children实现路由的嵌套

    Vue中使用children实现路由的嵌套 相关Html: <!DOCTYPE html> <html lang="en"> <head> &l ...

  9. 【jQuery源码】tokenize方法

    //得到由选择器生成的token对象的数组(下面的groups) //Sizzle的Token格式如下 :{value:'匹配到的字符串', type:'对应的Token类型', matches:'正 ...

  10. 【数组】Rotate Image

    题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...