Virtualenv介绍
【翻译】http://virtualenv.readthedocs.org/en/latest/index.html
virtualenv是创建独立python环境的一种工具。
环境搭建的过程中,有一个基本的问题就是关于某个引用项、版本,以及间接权限的问题。试想,如果你有一个应用需要某个版本1的库文件,但另一个应用需要版本2,那怎么使用这两个应用?把所有的库文件都安装到/usr/lib/python2.7/site-packages(或者任何你的平台的默认位置),会很容易使得原本不想升级的应用被升级。
或者说,要是你想安装一个应用并使之保持原样,该怎么办?如果当前的应用工作正常,任何对它的库文件或者版本的变更都可能对这个应用造成破坏。
同时,要是你不能把安装包放在全局的site-packages目录怎么办?比如说,在一个共享服务器上。
所有的这些情况,virtualenv都能帮到你。它能够创建一个包含自己安装路径的环境。这个环境下不与其他的虚拟环境共享库文件(也可以不访问安装的全局库文件)。
相同类型的工具还有workingenv(不建议使用,virtualenv的早期版本),virtual-python(也是virtualenv的早期版本,不适用Windows),zc.buildout等。
# Here's a more concrete example of how you could use this
import virtualenv, textwrap
output = virtualenv.create_bootstrap_script(textwrap.dedent("""
import os, subprocess
def after_install(options, home_dir):
etc = join(home_dir, 'etc')
if not os.path.exists(etc):
os.makedirs(etc)
subprocess.call([join(home_dir, 'bin', 'easy_install'),
'BlogApplication'])
subprocess.call([join(home_dir, 'bin', 'paster'),
'make-config', 'BlogApplication',
join(etc, 'blog.ini')])
subprocess.call([join(home_dir, 'bin', 'paster'),
'setup-app', join(etc, 'blog.ini')])
"""))
f = open('blog-bootstrap.py', 'w').write(output)
强烈建议任何应用的开发或部署都采用这类工具。
Virtualenv介绍的更多相关文章
- Python虚拟环境工具-Virtualenv 介绍及部署记录
在开发Python应用程序时,系统默认的Python版本可能会不兼容这个应用程序, 如果同时开发多个应用程序, 可能会用到好几个版本的python环境, 这种情况下,每个应用可能需要各自拥有一套&qu ...
- Python:virtualenv介绍
virtualenv 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时 ...
- linux使用virtualenv构建虚拟环境,requirement.txt记录包版本
virtualenv介绍: virtualenv把是一个把python应用隔离在一个虚拟环境中的工具.网上的例子较多,这里重点讲述怎么使用virtualenv来激活一个虚拟环境,并且记录虚拟环境中所依 ...
- OpenStack基础知识-virtualenv工具详解
1.virtualenv介绍 virtualenv通过创建一个单独的虚拟化python运行环境,将我们所需的依赖安装进去,不同项目之间相互不干扰,从而解决不同的项目之间依赖不同,造成的冲突问题 2.安 ...
- Ubuntu中配置Python虚拟环境Virtualenv
Ubuntu版本为18.04 Virtualenv介绍 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-pac ...
- pycharm新建项目时选择virtualenv的说明
虚拟环境及venv和virtualenv介绍:https://www.cnblogs.com/mind18/p/13877170.html pip介绍:https://www.cnblogs.com/ ...
- 基于Flask实现博客开发--准备工作
背景说明 本项目是基于<深入理解flask>一书,主要是用来记录学习历程和交流心得,所以写得不好请大神勿喷. 准备工作 virtualenv介绍 也许 Virtualenv 是你在开发中最 ...
- 关于使用实验室服务器的GPU以及跑上TensorFlow代码
连接服务器 Windows - XShell XFtp SSH 通过SSH来连接实验室的服务器 使用SSH连接已经不陌生了 github和OS课设都经常使用 目前使用 192.168.7.169 使用 ...
- Gunicorn部署部分的翻译
部署Gunicorn 文档建议Gunicorn最好是用在代理服务器后面.(等于前面最好加一个反向代理) Nginx Configuration 文档建议用Nginx,当然用其他也可以,但是要确保当你用 ...
随机推荐
- HackerRank "Vertical Rooks"
Please note: VROOK cannot go back-ward - that leads to a simple variation to Game of Nim: just XOR. ...
- SPOJ #442 Searching the Graph
Just CS rookie practice on DFS\BFS. But details should be taken care of: 1. Ruby implementation got ...
- 【转】String.format详解
一.前言 String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", " ...
- QueryRunner的API
org.apache.commons.dbutils Class QueryRunner java.lang.Object org.apache.commons.dbutils.AbstractQue ...
- 编译在arm板上使用的sqlite3的静动态库
采用的是sqlite-autoconf-3080002.tar.gz 解压 tar xvf sqlite-autoconf-3080002.tar.gz 进入 cd sqlite-autoconf-3 ...
- 使用eclipse创建java程序可执行jar包
一.eclipse中,在要打成jar包的项目名上右击,出现如下弹出框,选择“export”: 二.在接下来出现的界面中点击“jar file”,然后next: 三.在接下来出现的界面中,如图所示勾选上 ...
- Spark RDDRelation
package main.asiainfo.coc.sparksql import org.apache.spark.sql.SQLContext import org.apache.spark.{S ...
- All_从PO - INV - AP - SLA - GL重要数据表和接口程式(概念)
2014-07-09 Created By BaoXinjian
- memcpy
函数原型 void *memcpy(void*dest, const void *src, size_t n); 功能 由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始 ...
- 非spring组件servlet、filter、interceptor中注入spring bean
问题:在filter和interceptor中经常需要调用Spring的bean,filter也是配置在web.xml中的,请问一下这样调用的话,filter中调用Spring的某个bean,这个be ...