如何为Flask项目正确安装python-dotenv并添加至requirements.txt?
解决python-dotenv安装与Flask项目配置问题
是否需要手动添加到requirements.txt?
需要把python-dotenv加入requirements.txt,但不建议手动写版本号,直接用命令自动追加更准确:
pip3 freeze | grep python-dotenv >> requirements.txt
这样能保证和你当前安装的0.21.1版本完全一致,避免手动输入出错。
正确安装并使用python-dotenv的步骤
1. 确认安装状态
pip安装python-dotenv后不会在项目目录生成文件,所以没变化是正常的。你可以用以下命令验证是否真的装好了:
pip3 show python-dotenv
如果输出包含版本号(0.21.1)和安装路径,说明安装成功。
2. 创建.env配置文件
在项目根目录新建一个名为.env的文件,把原来硬编码的所有连接信息、凭证都移到这里,格式是KEY=VALUE:
# .env文件示例 DB_HOST=127.0.0.1 DB_USER=admin DB_PASSWORD=your_db_pass FLASK_SECRET_KEY=your_secure_secret_key
⚠️ 一定要把.env添加到.gitignore文件里,绝对不能提交到代码仓库,防止敏感信息泄露。
3. 在Flask项目中加载环境变量
在你的Flask项目入口文件(比如app.py或者工厂函数文件)的最开头,添加以下代码加载.env:
from dotenv import load_dotenv import os # 加载根目录的.env文件 load_dotenv() # 之后就可以用os.getenv()获取配置,替换原来的硬编码 db_host = os.getenv("DB_HOST") db_user = os.getenv("DB_USER") db_password = os.getenv("DB_PASSWORD")
比如原来硬编码数据库连接的地方,改成用这些变量:
# 原来的硬编码 # conn = connect(host="127.0.0.1", user="admin", password="xxx") # 改成用环境变量 conn = connect(host=db_host, user=db_user, password=db_password)
4. 验证配置是否生效
启动Flask项目,检查是否能正常访问数据库或使用其他配置。如果怕出问题,可以临时加个测试路由确认:
@app.route('/test-env') def test_env(): return f"DB Host: {os.getenv('DB_HOST')}"
访问这个路由能看到正确的配置值,说明加载成功。
内容的提问来源于stack exchange,提问作者hotmeatballsoup
相关产品推荐
相关产品推荐

