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. ORACLE_DELETE

    SQL DELETE Statement The SQL DELETE Statement The DELETE statement is used to delete existing record ...

  2. NodeJs安装less(npm方式)

    上一次讲了如何在浏览器端解析less文件,这次是在cmd中使用npm中的less模块来解析 详解如下 首下我们去下载一个https://nodejs.org/en/,   一路next之后,因为文件不 ...

  3. oracle 表 视图 存储过程 序列 job

    table 表 --delete table drop table Test1; -- Create table create table TEST1 (   ID     NUMBER,   T_N ...

  4. simple2.py

    #coding: utf-8 import xlsxwriter workbook = xlsxwriter.Workbook('chart.xlsx') worksheet = workbook.a ...

  5. 数据库操作(c#)

    windows窗体程序中的数据库操作部分 //数据库连接串 internal static string connstring = "Data Source = 192.168.1.1; I ...

  6. ssd的BUG

    苦恼了我一周,当然最近我有事老请假,也有原因.就是查不到我训练的SSD模型问题出在哪里,loss也在下降,但是跳动比较大.测试时,有些类效果还可以,但是有些类压根检测不出来.而根据我的经验,那些类大概 ...

  7. webpack——概念的引入

    ## 在网页中会引用哪些常见的静态资源?+ JS - .js .jsx .coffee .ts(TypeScript 类 C# 语言)+ CSS - .css .less .sass .scss+ I ...

  8. 面试遇到的select into 但是在PL/SQL developer ORA-00905:缺失关键字"错误。

    select into 是什么意思. 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1, ...

  9. rank() over,dense_rank() over,row_number() over的区别

    rank() over,dense_rank() over,row_number() over的区别 1.rank() over:查出指定条件后的进行排名.特点是,加入是对学生排名,使用这个函数,成绩 ...

  10. oracle日常监控语句

    oracle常用的性能监控SQL语句 一.查询历史SQL: ---正在执行的SQL语句: select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT fro ...