虚拟环境(virtualenv)

  对于同时管理多个不同的项目时,使用虚拟环境是必须的。

  虚拟环境就是用来为一个项目新建一个全新的纯净的python运行环境,该环境与系统的python环境相互隔离,且虚拟环境之间也相互隔离。该虚拟环境下若想使用某一个已经在系统环境中安装过的模块,只能通过在该虚拟环境下重新安装该模块来使用。无法使用到别的环境下的模块。

  各个虚拟环境之间是相互隔离的,如果不使用虚拟环境,管理多个项目时可能会出现的问题:

    项目A使用的某个模块的版本和项目B的不一致,而系统环境中只能存在一个版本的模块,那么要想管理这两个项目就很麻烦。

  使用虚拟环境,只需要在各个项目所在的虚拟环境下安装各自需要的模块即可,当要运行项目A的时候,只需切换到项目A的虚拟环境执行即可,项目B也是如此。

  1、virtualenv的安装

    pip install  virtualenv

  2、创建虚拟环境

    a、打开终端,进入存放虚拟环境的目录

    b、执行:virtualenv  环境名称,即可在当前目录下生成一个虚拟环境的文件夹

      如果需要指定该环境使用的python版本:

       virtualenv  环境名称 --python=python3.6

  3、激活虚拟环境

    a、打开终端,进入指定虚拟环境的文件夹下的Scripts目录

    b、执行activate即可

    

    执行成功后,命令提示符前方就会出现“(虚拟环境名称)”,这就意味着当前进入了该虚拟环境。

    在该虚拟环境下,做任何操作都不会影响到系统环境以及其他的虚拟环境。比如在该环境下,安装的模块只会存在于当前环境,一旦退出当前环境,回到系统环境或者进入其他虚拟环境,除非其他这些环境下已经存在有该模块,否则是无法调用到这个模块的。

  4、退出虚拟环境

    激活虚拟环境后,在任何目录下,执行:deactivate,即可退出当前虚拟环境

    

    

  5、搭建项目环境

    pycharm搭建django项目在指定虚拟环境下,只需要将django项目使用的解释器设置成指定虚拟环境下的python解释器即可。

  

  补充:

    针对一个环境下所使用到的第三方库/模块,可以通过:

    pip freeze > requirements.txt

    将当前环境下的所有使用到的第三方库/模块以及版本,一同写入requirements.txt中

    在其他电脑上搭建项目环境时,就可以通过:

    pip install -r requirements.txt

    在指定环境下安装requirements.txt中所有的第三方库/模块  

本地配置(local_settings)

  django项目下的同名目录下的settings文件,可以用来对django项目做一些基本配置。

  在与他人协作开发过程中,对于每个人来说可能用的配置都不一样,比如本地数据库的配置。

  因此,可以在该目录下创建一个local_settings文件,该文件内可以重写settings中的一些配置,作为个人的本地配置。这样在与他人写作开发时,每个人只需要配置好自己的local_settings即可。

  然后在settings文件中的末尾使用以下语句引入即可: 

  try:
   from .local_settings import *
  except ImportError:
   pass

  引入进来的*表示,将会覆盖当前名称空间中的同名变量的值。也就是说,项目运行过程中使用到这些变量都是定义在local_settings中的值。

  

虚拟环境与local_settings的更多相关文章

  1. Mac-OSX的Python3.5虚拟环境下安装Opencv

    Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2   概述 本文是一篇 环境搭建 的基础 ...

  2. python包使用指南-创建虚拟环境

    创建虚拟环境的两种方法: 1.virtualenv 2.venv http://packaging.python.org/en/latest/installing/#creating-virtual- ...

  3. python 虚拟环境

    python3 目录venv创建为虚拟环境,并激活. $ python3 -m venv ./venv$ source venv/bin/activate -m: -m mod : run libra ...

  4. [Django 1]安装Django并创建虚拟虚拟环境项目

    1)安装Django 使用pip来安装,命令如下: pip3 install Djangopip install Django(安装到python2)python3 -m pip install Dj ...

  5. python虚拟环境

    sudo apt-get install python-virtualenv virtualenv --no-site-packages files cd files source ./bin/act ...

  6. (zhuan)Python 虚拟环境:Virtualenv

    Python 虚拟环境:Virtualenv zhuanzi: http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的 ...

  7. Python 中的虚拟环境

    检查系统是否安装了virtualenv: $ virtualenv --version 创建虚拟环境venv(名字可以随便取,一般为venv): $ virtualenv venv 使用虚拟环境ven ...

  8. Windows下面如何建立多个Django虚拟环境

    Linux 安装请见另一篇博客 http://www.cnblogs.com/zhaoyingjie/p/6180758.html 1.安装 virtualenv 2.安装virtualenvwrap ...

  9. 用 pyvenv 创建几个不相互影响的python虚拟环境

    IN MY UBUNTU python2的环境控制: sudo apt-get install virtualenv 创建: virtualenv --no-site-packages  [环境搭建目 ...

随机推荐

  1. 5.CyclicBarrier-栅栏

  2. DC4靶机

    DC-4靶机渗透 扫描内网机器,看到143是开启的,那么ok了,确定了目标主机的地址. 对其进行进一步的端口扫描,80,22端口都是开放的. 访问具体网页,进行爆破,分别为admin,happy. 里 ...

  3. sping ioc 源码分析(二)-- refresh()方法分析

    测试环境代码: @Configuration @ComponentScan("com.yang.xiao.hui.ioc") @Conditional(MyCondition.cl ...

  4. Python-变量、变量作用域、垃圾回收机制原理-global nonlocal

    变量实现原理决定了Python使用的垃圾回收机制为变量引用计数,当这个对象引用计数为0时候,则会自动执行__del__函数回收资源, del方法只是把变量指向的对象引用计数减一而已并删除这个变量 表达 ...

  5. Python-local variable 'raw_password' referenced before assignment

    where? 执行Python程序的时候,报这个错 why? 变量作用域问题,在分支中定义的变量,当满足条件的时候则可以正确得到变量,当不满足条件的时候则报这个错 way? 把变量从分支中抽离到分支上 ...

  6. Java知识系统回顾整理01基础04操作符04位操作符

    一.位操作符 位操作符在实际工作中用的并不常见,但是我比较纠结这些位操作.所以实际练习位操作符的每一个操作符的操作实例来理解其具体含义. 建议: 如果确实感兴趣,就看看,个人建议跳过这个章节. 真正工 ...

  7. #ifdef _DEBUG/ #define new DEBUG_NEW/ #endif的作用

    转载:https://blog.csdn.net/minghui_/article/details/80748142 转自:#ifdef _DEBUG #define new DEBUG_NEW #e ...

  8. Java (三)APACHE Commons IO 常规操作

    上一篇:Java (二)基于Eclipse配置Commons IO的环境 例1:查看文件.文件夹的长度(大小). 1 import java.io.File; 2 3 import org.apach ...

  9. Jmeter之『如果(If)控制器』

    判断方法 ${__jexl3("${projectName}"=="${targetDir}",)} ${__groovy("${projectNam ...

  10. Top Coder 某场Div 2的C题 题解

    前天,我们了解了一下一种叫做树状数组的神奇玩意儿,今天就放一道真题来检验一下自己的学习成果吧! 嗯,题目就是这样的啦. 分析: 这题的暴力大家应该都会打吧. 注意到m小的压批,所以对于每一个m值,我们 ...