如何在 PyCharm 中设置环境变量?
- 2025-01-16 08:37:00
- admin 原创
- 110
问题描述:
我已经开始从事 Django 项目,我想设置一些环境变量,而无需手动设置它们或使用 bash 文件来获取源代码。
我想设置以下变量:
export DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
export DEBUG=1
# there are other variables, but they contain personal information
我已经阅读了这篇文章,但这并不能解决我想要的问题。此外,我尝试在“首选项” -> “构建、执行、部署” -> “控制台” -> “Python 控制台/ Django 控制台”中设置环境变量,但它会为解释器设置变量。
解决方案 1:
您可以在 Pycharm 的运行配置菜单中设置环境变量。
打开右上角的运行配置选择器并点击
Edit Configurations...
从菜单中选择正确的
Environmental variables
文件,找到并单击...
添加或更改变量,然后单击
OK
您可以使用以下方式访问环境变量os.environ
import os
print(os.environ['SOME_VAR'])
解决方案 2:
我能够使用名为EnvFile的 PyCharm 插件解决这个问题。此插件基本上允许设置环境变量以从一个或多个文件运行配置。
安装非常简单:
首选项>插件>浏览存储库... >搜索“环境文件” >安装插件。
然后,我在项目根目录中创建了一个名为的文件,environment.env
其中包含:
DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
DEBUG=1
然后我进入运行->编辑配置,并按照下图中的步骤进行操作:
在 3 中,我选择了文件environment.env
,然后我只需单击 PyCharm 中的播放按钮,一切都会顺利进行。
解决方案 3:
原始问题是:
如何在 PyCharm 中设置环境变量?
获得最多支持的两答案告诉您如何为 PyCharm运行/调试配置设置环境变量- 手动在“环境变量”中输入它们或使用 EnvFile 插件。
使用 PyCharm 多年后,我了解到还有其他关键区域可以设置 PyCharm 环境变量。EnvFile 不适用于这些其他区域!
这里还有其他可以查看的地方(在“设置”中):
工具>终端>环境变量
语言和框架 > Django > 环境变量
构建、执行、部署 > 控制台 > Python 控制台 > 环境变量
构建、执行、部署 > 控制台 > Django 控制台 > 环境变量
当然,还有您之前提到的运行/调试配置。
解决方案 4:
此功能现已添加到 IDE(适用于 Pycharm 2018.3)
只需单击EnvFile
运行配置中的选项卡,Enable EnvFile
然后单击 + 图标即可添加环境文件
更新:本质上与@imguelvargasf 的答案相同,但该插件对我来说默认启用。
解决方案 5:
这是您可以在pycharm flask/django 控制台中获取 .env (和 .flaskenv) 文件的操作。当然,它也适用于普通的 python 控制台。
在你的环境中执行
pip install python-dotenv
(与 pycharm 指向的相同)。转到:设置>构建,执行,部署>控制台> Flask / django控制台
在“启动脚本”的顶部附近包含如下内容:
from dotenv import load_dotenv
load_dotenv(verbose=True)
.env 文件如下所示:export KEY=VALUE
无论是否包含export
,dotenv 都可以读取它。
另外,您也可以在激活的 shell 脚本中为相应的虚拟环境获取 .env 文件。
解决方案 6:
假设环境变量位于一个文件中,并按如下所示存储。将它们全部复制到剪贴板Ctrl+A
->Ctrl+C
然后点击Edit Configurations
-> Environment Variables
。
现在单击小粘贴图标,所有环境变量都将可在当前环境中使用。
解决方案 7:
这种方法对我从 .env 文件调用环境变量很有帮助,而且实现起来也很容易。
在项目根文件夹中创建 .env 文件
安装名为“ python-dotenv ”的软件包
在想要使用环境变量的.py文件中导入并加载包,如下所示
import os
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
any_secret_var = os.get_env("SECRET_KEY")
然后 BOOM 就会像魔术一样
并且.env 文件应如下所示,不要在 .env 文件中的值周围放置任何引号
SECRET_KEY=any_secret_value_you_need_to_place_in
解决方案 8:
如果有人想为其所有运行/调试配置设置环境变量,我在这里列出我的解决方案。
按照其他答案的指示转到编辑配置。
单击面板中的编辑配置模板。
在那里编辑环境变量。
这样做之后,每次创建新配置时变量都会存在。
解决方案 9:
以上方法对我都不起作用。如果你使用的是 Windows,请在 PyCharm 终端上尝试此操作:
setx YOUR_VAR "VALUE"
您可以使用 在脚本中访问它os.environ['YOUR_VAR']
。
解决方案 10:
使用虚拟环境测试解决方案。
创建一个定义并导出或获取环境变量的脚本。然后将该脚本定义为现有虚拟环境的 Python 解释器。该解决方案适用于任何任务,如运行、调试、控制台...
示例脚本:
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export VAR1="TEST1"
source $DIR/../../.env
$DIR/python "$@"
解决方案 11:
venv/bin/activate
这是在 pycharm 终端中设置环境变量的最佳方法。如果您使用虚拟环境,只需在脚本末尾添加以下几行:
export $(grep -v '^#' .env | xargs)
解决方案 12:
在 Pycharm Python 控制台中,只需输入
ENV_VAR_NAME="STRING VARIABLE"
INT_VAR_NAME=5
与其他 Python 文本编辑器不同,您无需export
在 Pycharm 中添加