python开发必备神器 Virtualenv及管理工具Virtualenvwrapper
如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还在本地继续安装,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?
解决方案:虚拟环境
虚拟环境可以搭建独立的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的更多相关文章
- TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具
怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...
- modern.IE – Web 开发必备的 IE 浏览器测试工具
modern.IE 是微软推出的一个开发人员中心,提供免费的工具和资源,旨在使您能够花更少的时间来测试各种版本的 Internet Explorer,并留出更多时间在现代 Web 上构建重要的内容.m ...
- Unity3D开发必备神器(Visual Studio Tools for Unity)
Unity3D开发必备神器(Visual Studio Tools for Unity) 开发Unity3D程序你用的什么IDE呢? 1.MonoDevelop 2.VS 可能你的回答是这样的,我用的 ...
- python virtualenv 管理工具 - virtualenvwrapper
我们使用python virtualenv构建不同的python环境,python3 也加入了virtualenv 模块. virtualenvwrapper 提供了更便捷的 virtualenv环境 ...
- 天下武功,无快不破,Python开发必备的6个库
01 Python 必备之 PyPy PyPy 主要用于何处? 如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器.与使用普通 ...
- pip:带你认识一个 Python 开发工作流程中的重要工具
摘要:许多Python项目使用pip包管理器来管理它们的依赖项.它包含在Python安装程序中,是Python中依赖项管理的重要工具. 本文分享自华为云社区<使用Python的pip管理项目的依 ...
- 吴裕雄--天生自然Django框架开发笔记:Django Admin 管理工具
Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: ...
- Git--团队开发必备神器
花了两天时间专门搞了一下git.整理一下分享给大家.以下我们開始.. . 转载请注明出处: http://blog.csdn.net/Hello_Chillax/article/details/474 ...
- Swift开发必备技巧:内存管理、weak和unowned
因为 Playground 本身会持有所有声明在其中的东西,因此本节中的示例代码需要在 Xcode 项目环境中运行.在 Playground 中可能无法得到正确的结果. 不管在什么语言里,内存管理的内 ...
随机推荐
- Heap-451. Sort Characters By Frequency
Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...
- css字体中英速查表
例1(小米米官网):font-family: "Arial","Microsoft YaHei","黑体","宋体",s ...
- Java并发(二)-实现同步
并发带来的问题 先看一个单例类,后文中都会用到: public class SimpleWorkingHardSingleton { private static SimpleWorkingHardS ...
- 【HDU5126】 stars k-d树
题目大意:有$m$个操作,分两种:在指定三维坐标内加入一个点,询问指定空间内点的数量. 其中$m≤5*10^{4},1≤x,y,z≤10^9$ 这题几乎就是裸的$k-d$树啊.我们动态维护一棵$k-d ...
- 归并排序的理解和实现(Java)
归并排序介绍 归并排序(Merge Sort)就是利用归并的思想实现的排序方法.它的原理是假设初始序列含有fn个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n2\fr ...
- POJ 1287
#include<iostream> #include<stdio.h> #define MAXN 100 #define inf 1000000000 using names ...
- rabbitmq系列四 之路由
1.路由 在上一个的教程中,我们构建了一个简单的日志记录系统.我们能够向许多接收者广播日志消息. 在本次教程中,我们向该系统添加一些特性,比如,我只需要严重错误(erroe级别)的部分日志打印到磁盘文 ...
- AngularJS Directive 命名规则
使用规则 在HTML代码中,使用的是连接符的形式,下面我们对比看看命名和使用的对应字符串: 命名 使用 people people peopleList people-list peopleListA ...
- 《LeetBook》leetcode题解(17):Letter Combinations of a Phone Number[M]
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...
- Disconf 学习系列之Disconf 与 Diamond的横向对比(图文详解)
不多说,直接上干货! Disconf 学习系列之Disconf是什么? Disconf 是来自百度的分布式配置管理平台,包括百度.滴滴出行.银联.网易.拉勾网.苏宁易购.顺丰科技 等知名互联网公司正在 ...