如何为PyCharm中的单个Django项目配置专属环境变量
Windows下PyCharm多Django项目专属环境变量配置方案
下面是三种实测有效的配置方式,均可实现项目专属环境变量在PyCharm运行、终端执行命令时同时生效:
方案1:使用.env文件配置(最推荐,跨平台通用)
这是Django项目的主流配置方式,不依赖编辑器和虚拟环境设置,代码同步后其他开发者也可以快速适配自己的环境:
- 每个Django项目根目录下新建名为
.env的文件,写入对应项目的环境变量:
DATABASE_URL=mysql://username:password@127.0.0.1:3306/your_project_db DJANGO_SECRET_KEY=your_project_unique_secret_key
- 项目虚拟环境中安装
python-dotenv依赖:pip install python-dotenv - 修改项目根目录下的
manage.py、wsgi.py、asgi.py三个文件,在导入os的代码后添加加载逻辑:
import os from dotenv import load_dotenv # 加载当前项目根目录下的.env文件变量 load_dotenv()
配置完成后,无论是PyCharm启动Django服务,还是终端执行python manage.py相关命令,都会自动读取当前项目.env里的变量。注意:需要把.env文件加入.gitignore,避免密钥等敏感信息提交到代码仓库
方案2:修改项目虚拟环境激活脚本(终端自动生效)
如果不想修改项目代码,可以直接修改对应项目虚拟环境的激活脚本,激活虚拟环境时变量自动加载:
- 找到项目对应虚拟环境的
Scripts目录,路径一般为你的虚拟环境文件夹\Scripts\ - 如果你用cmd终端,编辑
activate.bat文件,在文件末尾添加:
set DATABASE_URL=当前项目对应数据库链接 set DJANGO_SECRET_KEY=当前项目对应密钥
- 如果你用PowerShell终端,编辑
Activate.ps1文件,在文件末尾添加:
$env:DATABASE_URL = "当前项目对应数据库链接" $env:DJANGO_SECRET_KEY = "当前项目对应密钥"
后续只要在终端激活该项目的虚拟环境,对应的环境变量就会自动生效,PyCharm内置终端只要开启了自动激活虚拟环境选项,也会自动加载变量。
方案3:正确配置PyCharm项目级环境变量
此前配置Run/Debug Configurations未生效,大概率是未覆盖全生效场景,按以下步骤配置可同时作用于运行、调试、终端场景:
- 打开PyCharm对应项目的设置页:
File > Settings > Build, Execution, Deployment > Console > Python Console,在「环境变量」栏添加DATABASE_URL和DJANGO_SECRET_KEY两个变量及对应值,该配置会作用于项目所有Python控制台、调试会话 - 进入
File > Settings > Tools > Terminal,勾选「Activate virtualenv」选项,确保内置终端打开时自动激活项目虚拟环境 - 检查
Run/Debug Configurations中你的Django启动项的环境变量配置,确保勾选「Include system environment variables」,避免配置的变量被覆盖
内容的提问来源于stack exchange,提问作者Andrew Plowright
相关产品推荐
相关产品推荐

