虚拟环境(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. flutter权限管理permission_handler

    flutter权限管理permission_handler 添加依赖 #权限 permission_handler: ^3.0.0 使用 在android的mainfest中添加权限: <use ...

  2. docker之windows安装&centOS安装

    按这个安装  没什么毛病 https://blog.csdn.net/vitaair/article/details/80894890 https://www.runoob.com/docker/ce ...

  3. Element-UI:级联选择器:Cannot read property 'level' of null"

    当级联选择时如果其选择内容需要动态变化时,如果没有选择就不会报错的:而当做出选择后又要动态变化级联选择器内容时,就会报错/ 错误:这个错误的原因是当选择后,再更新内容时,选择器仍会关联原来的数据,导致 ...

  4. Github 个人首页的 README,这样玩儿~

    本文首发于 Ficow Shen's Blog,原文地址: Github 个人首页的 README,这样玩儿~. 内容概览 前言 创建仓库 修改 README 的内容 总结 前言 大家最近有没有发现这 ...

  5. Java高级开发必会的50个性能优化的细节(珍藏版)

      在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. ● 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短 ...

  6. Spark Extracting,transforming,selecting features

    Spark(3) - Extracting, transforming, selecting features 官方文档链接:https://spark.apache.org/docs/2.2.0/m ...

  7. Python-变量-字符串

    str 字符串如何表示字符串? 单行 单引号 '' 如果字符串中有单引号就需要双引号表示,反之亦然 双引号 " " 换行表示 \ one_str = "简洁胜于优雅&qu ...

  8. unittest培训后总结记录

    今天在给同学们上了自动化测试单元框架unittest之后,突发奇想,要总结下自己今天上的课程内容.于是有了下面的一幕: 首先,今天上课的目标是要学会关于unittest框架的基本使用及断言.批量执行. ...

  9. sort函数居然能改变元素值?记一次有趣的Bug——四数之和

    坐标leetcode: 我想都不想直接深度优先搜索暴力求解: class Solution { public: vector<vector<int>> res; //答案 in ...

  10. 总线SPI的Arduino库函数

    来源参考:https://www.cnblogs.com/MyAutomation/p/9348480.html 总线SPI的Arduino库函数 SPI基本知识 SPI:高速同步串行口.是一种标准的 ...