virtualenv 设置虚拟环境来运行不同版本的python
转自:
http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html
virtualenv 是一个创建隔绝的Python环境的 工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。 它可以独立使用,代替Pipenv。 通过pip安装virtualenv: $ pip install virtualenv 测试你的安装 $ virtualenv --version 为一个工程创建一个虚拟环境: $ cd my_project_folder $ virtualenv my_project virtualenv my_project 将会在当前的目录中创建一个文件夹,包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 my_project ) 可以是任意的;若省略名字将会把文件均放在当前目录。 在任何你运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 my_project 的文件中。 你可以选择使用一个Python解释器(比如``python2.7``): $ virtualenv -p /usr/bin/python2.7 my_project 或者使用``~/.bashrc``的一个环境变量将解释器改为全局性的: $ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 要开始使用虚拟环境,其需要被激活: $ source my_project/bin/activate 当前虚拟环境的名字会显示在提示符左侧(比如说 (my_project)你的电脑:你的工程 用户名$) 以让你知道它是激活的。从现在起,任何你使用pip安装的包将会放在 ``my_project 文件夹中, 与全局安装的Python隔绝开。 像平常一样安装包,比如: $ pip install requests 如果你在虚拟环境中暂时完成了工作,则可以停用它: $ deactivate 这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。 要删除一个虚拟环境,只需删除它的文件夹。(要这么做请执行 rm -rf my_project ) 然后一段时间后,你可能会有很多个虚拟环境散落在系统各处,你将有可能忘记它们的名字或者位置。 运行带 --no-site-packages 选项的 virtualenv 将不会包括全局安装的包。 这可用于保持包列表干净,以防以后需要访问它。(这在 virtualenv 1.7及之后是默认行为) 为了保持你的环境的一致性,“冷冻住(freeze)”环境包当前的状态是个好主意。要这么做,请运行: $ pip freeze > requirements.txt 这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。你可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。这将会使另一个不同的开发者(或者是你,如果你需要重新创建这样的环境) 在以后安装相同版本的相同包变得容易。 $ pip install -r requirements.txt 这能帮助确保安装、部署和开发者之间的一致性。 最后,记住在源码版本控制中排除掉虚拟环境文件夹,可在ignore的列表中加上它。 virtualenvwrapper virtualenvwrapper 提供了一系列命令使得和虚拟环境工作变得愉快许多。它把你所有的虚拟环境都放在一个地方。 安装(确保 virtualenv 已经安装了): $ pip install virtualenvwrapper $ export WORKON_HOME=~/Envs $ source /usr/local/bin/virtualenvwrapper.sh (virtualenvwrapper 的完整安装指引.) 对于Windows,你可以使用 virtualenvwrapper-win 。 安装(确保 virtualenv 已经安装了): $ pip install virtualenvwrapper-win 在Windows中,WORKON_HOME默认的路径是 %USERPROFILE%Envs 。 基本使用 创建一个虚拟环境: $ mkvirtualenv my_project 这会在 ~/Envs 中创建 my_project 文件夹。 在虚拟环境上工作: $ workon my_project 或者,你可以创建一个项目,它会创建虚拟环境,并在 $PROJECT_HOME 中创建一个项目目录。 当你使用 workon myproject 时,会 cd -ed 到项目目录中。 $ mkproject myproject virtualenvwrapper 提供环境名字的tab补全功能。当你有很多环境, 并且很难记住它们的名字时,这就显得很有用。 workon 也能停止你当前所在的环境,所以你可以在环境之间快速的切换。 停止是一样的: $ deactivate 删除: $ rm virtualenv my_project
virtualenv 设置虚拟环境来运行不同版本的python的更多相关文章
- linux使用virtualenv构建虚拟环境,requirement.txt记录包版本
virtualenv介绍: virtualenv把是一个把python应用隔离在一个虚拟环境中的工具.网上的例子较多,这里重点讲述怎么使用virtualenv来激活一个虚拟环境,并且记录虚拟环境中所依 ...
- 【pycharm】pycharm中设置virtualenv的虚拟环境为开发环境
pycharm中设置virtualenv的虚拟环境 因为在pycharm写代码比较方便 但是有时候virtualenv安装的环境在pycharm中会有红色波浪线报语法错误.作为一个强迫症,这怎么能忍, ...
- Java-Runoob-高级教程-实例-环境设置实例:4.Java 实例 – 如何查看当前 Java 运行的版本?
ylbtech-Java-Runoob-高级教程-实例-环境设置实例:4.Java 实例 – 如何查看当前 Java 运行的版本? 1.返回顶部 1. Java 实例 - 如何查看当前 Java 运行 ...
- virtualenv创建虚拟环境安装flask
virtualenv 有什么用?如果你象我一样热爱 Python ,那么除了基于 Flask 的项目外 还会有其他项目用到 Python .当项目越来越多时就会面对使用不同版本的 Python 的 问 ...
- Python创建virtualenv(虚拟环境)方法
本文目录 一 前言 二 通过virtualenv软件创建 三 在pycharm下创建 新建项目 四 已有项目使用和创建虚拟环境 五 参数说明 一 前言 需求: --公司之有一台服务器 ...
- 如何利用pyenv 和virtualenv 在单机上搭建多版本python 虚拟开发环境
pyenv 和virtualenv分别是干什么的? pyenv帮助你在一台机上建立多个版本的python环境, 并提供方便的切换方法. virtualenv则就是将一个目录建立为一个虚拟的python ...
- 多个版本的Python如何设置不冲突
同时装有Python2.7和Python3.5说明. 问题1: 设置右键点击"Edit with IDLE"选项打开的Python版本? 在运行输入"regedit&qu ...
- 在虚拟环境下运行 Confluence 6
这个页面针对运行在虚拟硬件环境下的 Confluence 提供一些信息. 概要 在虚拟环境(virtual machine (VM))下运行 Confluence 需要一些特定的技能来进行设定和进行管 ...
- windows 中 到底是用的哪个java.exe??? 删除了PATH变量的Java设置还是可以运行java.exe windows/system32
到底是用的哪个java.exe??? 删除了PATH变量的Java设置还是可以运行java.exe JavaWindowsCC++C# 当电脑里面有多个jdk或是jre时,在cmd里面到底是用的哪个 ...
随机推荐
- STL_容器共通能力
1. 来自教程: ◆ 所有容器提供的都是值(value)语意,而非引用(reference)语意.容器执行插入元素的操作时,内部实施拷贝动作.所以STL容器内存储的元素必须能够被拷贝(必须提供拷贝构造 ...
- angular惰性加载拓展剖析
最近把一个比较旧的业余项目重新升级了下,将主文件进行了剥离,增加了些惰性加载的配置,将过程中一些零散的知识点做个总结,同时尽量深入原理实现层面. 项目环境: 前端框架:angular2.0.0-bet ...
- Go开发环境安装配置
访问下载地址:https://golang.org/dl/ 32位系统下载go1.8.1.linux-386.tar.gz,64位系统下载go1.8.1.linux-amd64.tar.gz, 假定你 ...
- LeetCode--121--卖卖股票的最佳时机
问题描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出 ...
- codeforces 576a//Vasya and Petya's Game// Codeforces Round #319 (Div. 1)
题意:猜数游戏变种.先选好猜的数,对方会告诉你他想的那个数(1-n)能不能整除你猜的数,问最少猜几个数能保证知道对方想的数是多少? 对一个质数p,如果p^x不猜,那么就无法区分p^(x-1)和p^x, ...
- AndroidStudio使用偷懒插件Butterknife和GsonFormat
1.Android ButterKnife Zelezny Android Studio上安装插件,如图: 配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊.在Act ...
- 快速排序的C++版
int Partition(int a[], int low, int high) { int x = a[high];//将输入数组的最后一个数作为主元,用它来对数组进行划分 int i = low ...
- nyoj1272表达式求值(递归法)
递归写的,类似于之前的一道,但要更难一点,因为加入了'+','*'以及括号运算符,所以要考录周全: 这道题给了我很大启示,在第一道德基础上: 1!寻找括号的优先级,先找有没有不被任何括号夹住的加号,如 ...
- IIS Web 服务器/ASP.NET 运行原理基本知识概念整理
前言: 记录 IIS 相关的笔记还是从公司笔试考核题开始的,问 Application Pool 与 AppDomain 的区别? 促使我对进程池进了知识的学习,所以记录一下学习 ...
- webservice-jdk客户端代码
使用wsimport.exe 生成客户端代码 使用JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些文件就可以像调用本地类一样调用本地的类一样 ...