virtualenv 创建隔离工作环境

在开发 Python 应用程序的时候,每个项目所需要的python版本和各种包依赖都可能不完全一样,我们当然希望当前运行环境只包含对当前项目有用的包依赖,以保证运行环境的干净。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

首先,我们用pip安装virtualenv

$ pip3 install virtualenv

然后,假定我们要开发一个新的项目,需要一套独立的Python运行环境,可以这么做:

第一步,创建目录:
Mac:~ michael$ mkdir myproject
Mac:~ michael$ cd myproject/
Mac:myproject michael$
第二步,创建一个独立的Python运行环境,命名为venv
Mac:myproject michael$ virtualenv --no-site-packages venv
Using base prefix ‘/usr/local/.../Python.framework/Versions/3.4‘
New python executable in venv/bin/python3.4Also creating executable in venv/bin/python
Installing setuptools, pip, wheel...done.

命令virtualenv就可以创建一个独立的Python运行环境,我们还加上了参数--no-site-packages,这样,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。

注意:这里如果想自己指定新创建的虚拟空间使用的是哪个版本的 python,可以使用如下命令指定python版本:

virtualenv --python=你想使用的python版本的主目录 目录名称
示例:virtualenv --python=C:\Python\python3\python.exe venv

新建的Python环境被放到当前目录下的venv目录。有了venv这个Python环境,可以用source进入该环境:

Mac:myproject michael$ source venv/bin/activate
(venv)Mac:myproject michael$

当然了,在windows上路径与mac上有点不同,activate.exe文件在venv/Scripts/目录下。

注意到命令提示符变了,有个(venv)前缀,表示当前环境是一个名为venvPython环境。

下面正常安装各种第三方包,并运行python命令:
(venv)Mac:myproject michael$ pip install jinja2
...
Successfully installed jinja2-2.7.3 markupsafe-0.23
(venv)Mac:myproject michael$ python myapp.py
...

venv环境下,用pip安装的包都被安装到venv这个环境下,系统Python环境不受任何影响。 也就是说,venv环境是专门针对myproject这个应用创建的。 退出当前的venv环境,使用deactivate命令:

(venv)Mac:myproject michael$ deactivate
Mac:myproject michael$

此时就回到了正常的环境,现在pippython均是在系统Python环境下执行。

完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。

virtualenv是如何创建“独立”的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境, 用命令source venv/bin/activate进入一个virtualenv环境时, virtualenv会修改相关环境变量,让命令pythonpip均指向当前的virtualenv环境。

小结

virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。

原文地址:https://www.cnblogs.com/zishu/p/11107384.html

时间: 2024-11-08 02:53:48

virtualenv 创建隔离工作环境的相关文章

[转载] 在Ubuntu下用virtualenv创建隔离的Python环境

本文转载自: http://www.xuzefeng.com/post/89.html 今天终于晴天了,心情大好.今天整理了一些关于virtualenv的笔记.virtualenv is a tool to create isolated Python environments. 对于“isolated Python environments”,在网上有人因为virtual一词,称之为虚拟Python环境,有人直接称为隔离Python环境,都代表同一个意思. virtualenv通过创建独立的p

ubuntu10.0.4 virtualenv 创建虚拟Python环境

virtualenv可以使多个Python相互独立,互不影响,它能够: 1. 在没有权限的情况下安装新套件2. 不同应用可以使用不同的套件版本3. 套件升级不影响其他应用 安装 sudo apt-get install python-virtualenv 然后建立一个测试目录 mkdir py/django_pro -p cd py/django_pro/ virtualenv web01 cd web01 source bin/activate 退出虚拟环境: deactivate 此时我们会

Win10使用virtualenv 创建新开发环境报VCRUNTIME140.dll缺失

发现在Python安装根目录下就有该dll文件.索性将根目录下所有dll文件:python3.dllpython36.dllvcruntime10.dll均拷贝到Script目录下即可. 另外,如果在安装Python时,注意勾选ADD TO PATH(安装时第一个页面下方就有,默认没有勾选),即把python目录添加到path系统变量中.不会出现上述问题. 原文地址:https://blog.51cto.com/cfy10/2364131

创建 Python Virtualenv 虚拟隔离环境

video:创建 Python Virtualenv 虚拟隔离环境 python 虚拟环境 venv 简单用法 - littlemore - 博客园 创建 Python Virtualenv 虚拟隔离环境 注:早期的版本需要使用工具:pipenv.conda.virtualenv,至3.4版本之后就已经集成了该模块python -m venv python 的venv使用注意事项 在windows平台下的情况: python的venv环境不能完全脱离python环境运行,就是你把整个项目拷贝到一

virtualenv+pyenv管理python工作环境

因为python2与3之间存在差异,所以日常工作中可能需要在2与3之间来回切换.在相同的python版本中,有可能有的项目需要用到django1.8,别的项目需要用到django1.9,所以如果可以在本地环境中自由切换,对于开发者来说简直是太便利了.记得我刚开始学习的时候,因为python版本的问题,给自己的mac重装了很多次,现在想想,真的是一把鼻涕一把泪啊. 首先说说如何通过pyenv让python2与3在自己的本地环境中共存. 安装pyenv,我们从github上clone,分别执行一些安

2.VMware Workstation 10 工作环境的创建

打开 VMware Workstation10 虚拟机软件,进入到该界面上,如图所示: 点击"创建新的虚拟机",弹出如图画面: 弹出对话框,选择"自定义(高级)",自定义安装,之后点击"下一步": 弹出对话框,选择默认安装,直接点击"下一步": 弹出对话框,选择"稍后安装操作系统",点击"下一步": 选择"稍后安装操作系统",这里是选择安装的 Windows XP P

virtualenv创建虚拟环境

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3.如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办? 这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境.virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境. pi

virtualenv 创建python虚拟环境

为什么要创建python虚拟环境 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3.如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办? 这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境.virtualenv就是用来为一个应用创建一套“隔

windows下搭建node.js及npm的工作环境

最近在研究数据可视化D3框架,决定在windows下搭建一个nodejs及npm的工作环境,在网上查了n篇文章,别管是编译源码安装也好,还是使用node.msi格式安装包也好,总是有问题.最终,功夫不负有心人,还是搭建完成了.作为新手,其实我也不知道这样搭建对不对,但是运行'npm install'反正不出错了. 下面就把我的一些搭建过程说一下: 下载node.js.在http://nodejs.org/download/下载最新版的node.exe文件,我下载时是v0.10.33.下载完成后,