1. 为什么要有virtualenv

  在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;

亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。

此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。

这里,就要隆重介绍 virtualenv,一个可以帮助我们管理不同 Python 环境的绝好工具。

virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。

2. Linux下安装, 配置virtualenv

  使用pip安装virtualenv

 #指定清华源下载pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
#升级pip工具
pip3 install --upgrade pip

3. 使用virtualenv创建虚拟环境

  你可以在任意一个目录下创建虚拟环境, 在创建虚拟环境时有几个参数主要注意

 1.创建目录
  mkdir Myproject
  cd Myproject
2.创建独立运行环境-命名
  virtualenv --no-site-packages --python=python3 venv#得到独立第三方包的环境,并且指定解释器是python3
3.进入虚拟环境
  source venv/bin/activate #此时进入虚拟环境(venv)Myproject
4.安装第三方包
  (venv)Myproject: pip3 install django==1.9.8 #此时pip的包都会安装到venv环境下,venv是针对Myproject创建的
5.退出venv环境
  deactivate命令

  虚拟环境的原理:

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

4. virtualenv环境的应用实例

  现在有两个Django项目, 一个是基于Django1.11.11, 另一个是基于Django2.0, 现在就要使用virtualenv虚拟环境让两个项目同时运行

  4.1 首先创建两个虚拟环境一个用于Django1.11.11, 一个用于Django2.0

 [root@17:10 /opt]# virtualenv --no-site-packages --python=python3 env-django-1.0
[root@17:11 /opt]# virtualenv --no-site-packages --python=python3 env-django-2.0

  在目录下就会生成生成两个虚拟环境

  4.2 在不同的虚拟环境下下载不同版本的Django

  

  4.3 在各自的虚拟环境中启动各自的Django, 记得要使用不同的端口哦, 还有修改 ALLOWED_HOSTS = ["*"]

  

  

Python的virtualenv你用过吗?的更多相关文章

  1. Python 虚拟环境Virtualenv

    本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境  和 本地环境没有关系,随时可以删除这个隔离 ...

  2. 配置python虚拟环境Virtualenv及pyenv

    pyenv pyenv 可以让机器安装各种不同版本的python pyenv install --list 查看可以安装的python版本 pyenv versions 查看已安装的python版本 ...

  3. python虚拟环境virtualenv简介

    参考网站: https://realpython.com/python-virtual-environments-a-primer/ 一. 创建一个新的虚拟环境 # Python 2: $ virtu ...

  4. [Python] Python 虚拟机 - virtualenv

    virtualenv virtualenv 用于创建一个隔离的 Python 环境. 每个项目都有自己的依赖包,这些依赖包有时存在版本冲突,处理这种情况最好方法就是为每个项目创建一个专属的环境. 安装 ...

  5. [转载]windows下安装Python虚拟环境virtualenv,virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

  6. python虚拟环境--virtualenv和virtualenvwrapper

    python虚拟环境--virtualenv和virtualenvwrapper http://www.cnblogs.com/technologylife/p/6635631.html https: ...

  7. Windows上python的virtualenv 安装及使用

    源地址:http://blog.csdn.net/liuchunming033/article/details/46008301 VirtualEnv可以方便的解决不同项目对类库的依赖问题. 现实测试 ...

  8. [python]使用virtualenv处理python版本问题

    1. 更新virutalenv $ sudo easy_install --upgrade virtualenv   2. 新建virtualenv实例, 确保在your home directory ...

  9. ubuntu python PyCharm virtualenv

    1.安装virtualenv 参照:http://docs.jinkan.org/docs/flask/installation.html 2.PyCharm结合virtualenv开发应用 PyCh ...

  10. Python虚拟环境virtualenv

    用意 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. 安装 virtualenv本质上是个python包, 使用pip安装 pip inst ...

随机推荐

  1. C++中char*与wchar_t*之间的转换

    http://blog.163.com/tianshi_17th/blog/static/4856418920085209414977/ 关于C++中的char*与wchar_t*这两种类型的相互转换 ...

  2. Matlab GUI读入图片

    % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, han ...

  3. 导致SharePoint发生Timeout的几处门槛设置

    IIS connection time-out setting =========================== 如何修改? Click Start, point to All Programs ...

  4. March 19 2017 Week 12 Sunday

    If you want it, work for it. It's that simple. 很简单,想要什么,就为之努力吧. Yes, it is very simple. Many of us j ...

  5. 插上翅膀,让Excel飞起来——xlwings(一)

    python操作Excel的模块,网上提到的模块大致有:xlwings.xlrd.xlwt.openpyxl.pyxll等,他们提供的功能归纳起来有两种:一.用python读写Excel文件,实际上就 ...

  6. http中COOKIE和SESSION有什么区别?(转知乎)

    作者:知乎用户链接:https://www.zhihu.com/question/19786827/answer/28752144来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  7. HDU 3336 KMP

    题意:求每一个前缀,跟前缀相同的每个子串. 此题:网上很多都是假程序,不过也AC了,的确我测试几个案例之后的的确确是存在这个问题. 分析:每一个前缀,可以考虑KMP,f失配指针,如何求得它出现了多少次 ...

  8. VOJ1049 送给圣诞夜的礼品 【矩阵经典4】

    任意门:https://vijos.org/p/1049 描述 当小精灵们把贺卡都书写好了之后.礼品准备部的小精灵们已经把所有的礼品都制作好了.可是由于精神消耗的缘故,他们所做的礼品的质量越来越小,也 ...

  9. PowerShell批量创建文件夹

    效果如下: 实现关键: mkdir (1..10|%{"hwllo$_"}) 过程概述:

  10. Validform 基于表单验证

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...