虚拟环境与local_settings
虚拟环境(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中的值。