目录

Python虚拟环境

1、virtualenv

2、安装Virtualenv

3、创建virtualenv

4、激活virtualenv

5、关闭virtualenv

6、venv


Python虚拟环境

在开发python应用程序的时候,系统安装的python3只有一个版本:3.4。所有的第三方的包都回被pip安装到python3的site-packages目录下。

如果我们要要同时开发多个应用程序,那这些应用都共用一个python,就是安装在系统的python3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?

这种情况下,每个应用需要各自拥有一套“独立”的python运行环境。

有两个常用工具用于创建python“独立”环境:

  • venv is available by default      in Python 3.3 and later, and installs pip and setuptools into created      virtual environments in Python 3.4 and later.
  • virtualenv needs to be    installed separately, but supports Python 2.7+ and Python 3.3+, and pip,      setuptools and wheel are always installed into created virtual      environments by default (regardless of Python version).

1、virtualenv

https://virtualenv.readthedocs.io/en/latest/

virtualenv is a tool to create isolated Python environments.

创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库

2、安装Virtualenv

$ pip install virtualenv

3、创建virtualenv

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

- 在项目目录下,创建一个独立的python运行环境,命名为 venv

virtualenv venv #创建一个名为ENV的目录, 并且安装了ENV/bin/python,创建了lib,include,bin目录,安装了pip

  • lib,所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下
  • bin,bin/python是在当前环境是使用的python解释器

如果在命令行中运行virtualenv --system-site-packages ENV, 会继承/usr/lib/python2.7/site-packages下的所有库, 最新版本virtualenv把访问全局site-packages作为默认行为default behavior.

virtualenv --no-site-packages venv

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

可以使用-p PYTHON_EXE选项在创建虚拟环境的时候指定python版本

  • #创建python2.7虚拟环境
  • virtualenv -p /usr/bin/python2.7 ENV2.7
  • #创建python3.4虚拟环境
  • virtualenv -p /usr/local/bin/python3.4 ENV3.4

4、激活virtualenv

新建的python环境被放到项目录下的venv目录,有了 venv 这个python环境,就可以用source进入该环境:

source ./venv/bin/activate

source ./venv/Scripts/activate

注意查看activate命令被放在了哪个目录下。

执行上面的命令后,可以看懂命令指示符变了,有个 (venv) 前缀,表示当前环境是一个名为 venv 的python环境,下面可以正常安装各种第三方包,并运行python命令。

在venv 环境下,用 pip 安装的包都在安装到了 venv 这个环境下,系统python环境不受任何影响,也就是说, venv环境是专门针对当前项目创建的。

5、关闭virtualenv

退出venv 环境,使用 deactivate 命令:deactivate

viratualenv是如何创建“独立”的python运行环境呢?

其实就是把系统python复制一份到virtualenv的环境,用命令 source 进入一个virutalenv环境时,virtualenv会修改相关环节变量,让命令python和pip均指向当前的virtualenv环境。

6、venv

venv不用安装,不过需要python3.3以上。创建一个独立的python运行环境,命名为venv

python3 -m venv ./venv

上面的命令会在当前目录下创建一个名为venv的python环境中。进入和退出该环境的方式和virtualenv一致。

参考文档:

https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments 官方文档

Python虚拟环境 之 virtualenv安装、创建、激活、关闭相关推荐

  1. windows安装python虚拟环境_windows上安装python虚拟环境

    一.windows上安装python虚拟环境 1.安装 pip install virtualenv virtualenv --version 2.新建一个python虚拟环境virtual_env_ ...

  2. ubuntu18.04安装python虚拟环境:virtualenv 【亲测有效】

    安装目的,就是为了便于工程管理. 前提,安装一下python3.6.看这个教程会更加方便. 1.安装虚拟环境 sudo pip3 install virtualenv       2.安装虚拟环境扩展 ...

  3. python虚拟环境virualenv的安装与使用

    virtualenv 是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包. 在安装完python及pip,setup ...

  4. Python 虚拟环境:Virtualenv

    virtualenv是用于创建独立的Python环境的模块,并且多个Python相互独立,互不影响,它能够: 1. 在没有权限的情况下安装新套件 2. 不同应用可以使用不同的套件版本 3. 套件升级不 ...

  5. linux python虚拟环境搭建_Linux 下创建python 虚拟环境

    简要记录 Linux 下安装python虚拟环境的方法.以下内容基于 python2.7 版本 1 安装virtualenv pip install virtualenv 检查版本 virtualen ...

  6. python中使用virtualenv库创建虚拟环境的问题

    书籍<python编程--从入门到实践> 问题:创建虚拟环境不成功 代码示例如下: C:\Users\我们都是小怪兽\Desktop>virtualenv myenv New pyt ...

  7. 如何安装python虚拟环境_如何安装python3.9以及python虚拟环境?

    一:Python3.9安装 1. 配置依赖环境 sudo apt-get install libffi-dev zlib1g-dev libbz2-dev libssl-dev libncurses5 ...

  8. python创建虚拟环境的方法_Python创建virtualenv(虚拟环境)方法

    本文目录 一 前言 二 通过virtualenv软件创建 三 在pycharm下创建 新建项目 四 已有项目使用和创建虚拟环境 五 参数说明 一 前言 需求: --公司之有一台服务器 -目前运行这一个 ...

  9. Python笔记-centos 7安装(升级)pyton到3.6.9及创建独立虚拟环境

    首先下载python3.6.9 wget http://npm.taobao.org/mirrors/python/3.6.9/Python-3.6.9.tgz 解压 tar -zxvf Python ...

最新文章

  1. c/c++中的const
  2. open source ecg_苹果watchOS 7.1 正式版发布:ECG功能上线多国
  3. caffe学习(1) ubunu 16.04+caffe+cuda8.0+opencv3.1安装
  4. Java学习进阶—高级编程
  5. download在线下载源码
  6. word修改一处另一处自动修改_这么做让word自动记录修改明细,再也不用一个字一个字的核对了...
  7. 【第二十九章】 springboot + zipkin + mysql
  8. element 使用阿里图标变形了_2TB不限速的阿里网盘App来了 终于不再忍受众生平等盘...
  9. 一文看懂二叉搜索树~(又叫二叉查找树) 代码+详解(C/C++)
  10. Android+FFmpeg音视频学习笔记
  11. cpu空载50度,大热天,cpu都上50度了! -
  12. for(int x:nums),在循环中改变nums元素的情况
  13. 差错控制 —— 码距和纠错编码(海明码)
  14. 3D结构光摄像头深度算法 转载
  15. 软件与硬件的兼容性如何测试,怎么检测电脑硬件兼容问题
  16. 树莓派系统剪裁、克隆
  17. 全球与中国体积视频软件市场深度研究分析报告
  18. 计算机英语 crash,英语笑话 - 技术类:455 Computer Crash 电脑崩溃
  19. linux 端如何修改移动硬盘的名称
  20. 【FPGA】SCCB通信协议

热门文章

  1. java毕业设计派大星水产商城mp4(附源码、数据库)
  2. 输出、认识格式化符号
  3. android解锁动画效果,Android开发学习——Day24(火焰燃烧和蒙眼解锁界面动画:关键帧动画和补间动画)...
  4. 英语电台在线播放器代码下载
  5. 生如夏花-Nginx
  6. 每日晨会,或1-3-5晨会(项目开发进度把控)
  7. python tkinter 计算器V1.0
  8. 仿新浪微博 android,第一期--从零开始仿制新浪微博---android
  9. 06_通过AJAX发送数据
  10. iView表格自定义展开、render函数的使用