提问人:lmiguelvargasf 提问时间:3/10/2017 最后编辑:David Beaucheminlmiguelvargasf 更新时间:10/24/2023 访问量:325607
如何在 PyCharm 中设置环境变量?
How to set environment variables in PyCharm?
问:
我已经开始处理 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
我已经读过这篇文章,但这并不能解决我想要的问题。此外,我尝试在 Preferences-> Build, Execution, Deployment->Console->Python Console/Django Console 中设置环境变量,但它为解释器设置了变量。
答:
我能够使用名为 EnvFile 的 PyCharm 插件来解决这个问题。这个插件基本上允许设置环境变量以从一个或多个文件运行配置。
安装非常简单:
首选项 > 插件 > 浏览存储库... >搜索“env file”>安装插件。
然后,我在项目根目录中创建了一个文件,名为 包含:environment.env
DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
DEBUG=1
然后,我转到了 Run->Edit Configurations,并按照下图中的步骤操作:
在 3 中,我选择了文件,然后我只需单击 PyCharm 中的播放按钮,一切都像魅力一样工作。environment.env
评论
cmd
shift
.
您可以在 Pycharm 的运行配置菜单中设置环境变量。
- 打开右上角的“运行配置”选择器,然后单击
Edit Configurations...
- 从菜单中选择正确的文件,找到并单击
Environmental variables
...
- 添加或更改变量,然后点按
OK
您可以使用 os.environ
访问环境变量
import os
print(os.environ['SOME_VAR'])
评论
此功能现已添加到 IDE 中(工作 Pycharm 2018.3)
只需单击运行配置中的选项卡,单击并单击 + 图标即可添加 env 文件EnvFile
Enable EnvFile
更新:与@imguelvargasf的答案基本相同,但默认情况下为我启用了该插件。
评论
EnvFile
以上方法都不适合我。如果您使用的是 Windows,请在 PyCharm 终端上尝试以下操作:
setx YOUR_VAR "VALUE"
您可以在脚本中使用 访问它。os.environ['YOUR_VAR']
这是在 pycharm flask/django 控制台中获取 .env(和 .flaskenv)文件的方法。当然,它也适用于普通的 python 控制台。
在您的环境中执行(与 pycharm 指向的相同)。
pip install python-dotenv
转到: 设置 > 构建、执行、部署 > 控制台 > Flask/django 控制台
在“起始脚本”中,在顶部附近包含如下内容:
from dotenv import load_dotenv
load_dotenv(verbose=True)
.env 文件可能如下所示:export KEY=VALUE
是否包含 dotenv 读取它并不重要。export
作为替代方法,您还可以在相应的虚拟环境的激活 shell 脚本中获取 .env 文件。
评论
在 Pycharm Python 控制台中,只需键入
ENV_VAR_NAME="STRING VARIABLE"
INT_VAR_NAME=5
与其他 Python 文本编辑器不同,您不会添加 Pycharmexport
评论
最初的问题是:
如何在 PyCharm 中设置环境变量?
两个投票最多的答案告诉你如何为 PyCharm 运行/调试配置设置环境变量 - 在“环境变量”中手动输入它们或使用 EnvFile 插件。
在使用 PyCharm 多年后,我了解到还有其他关键领域可以设置 PyCharm 环境变量。EnvFile 不适用于这些其他领域!
以下是要查找的 ELSE 位置(在“设置”中):
- 工具 > 终端>环境变量
- 语言和框架 > Django > 环境变量
- 生成、执行、部署 > 控制台 > Python 控制台 >环境变量
- 构建、执行、部署>控制台 > Django 控制台 > 环境变量
当然,还有您已经提到的运行/调试配置。
评论
django_test_manage.py
这种方法对我从 .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 文件中的值周围放置任何 qoutes
SECRET_KEY=any_secret_value_you_need_to_place_in
使用虚拟环境测试的解决方案。
创建一个脚本来定义和导出或获取 env var。然后将脚本定义为现有虚拟环境的 python 解释器。该解决方案适用于任何任务,如运行、调试、控制台......
示例脚本:
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export VAR1="TEST1"
source $DIR/../../.env
$DIR/python "$@"
如果有人想为他们的所有运行/调试配置设置环境变量,我在这里列出了我的解决方案。
- 转到其他答案所指的编辑配置。
- 单击面板中的编辑配置模板。
- 在那里编辑环境变量。
这样,每次创建新配置时,变量都会在那里。
假设环境变量位于文件和存储中,如下所示。
将它们全部复制到剪贴板Ctrl+A
-> Ctrl+C
然后单击 -> 。Edit Configurations
Environment Variables
这是在 pycharm 终端中设置环境变量的最佳方法。如果您使用的是虚拟环境,只需在脚本末尾添加以下行:venv/bin/activate
export $(grep -v '^#' .env | xargs)
评论