如何在 PyCharm 的运行/调试配置中将环境变量传递给参数?

xen*_*ato 5 pycharm

我需要传递给我的 Python 程序的参数使用了一些环境变量。

例子:

这是我在终端上运行它的方式:

export BUCKET="/tmp/bucket"
python main.py --input $BUCKET/input --output $BUCKET/output
Run Code Online (Sandbox Code Playgroud)

在 PyCharm 上,我创建了一个运行/调试配置,其中包含一个名为的环境变量BUCKET,并将以下字符串作为参数传递:--input $BUCKET/input --output $BUCKET/output.

当 PyCharm 执行程序时,它不会获取BUCKETas的值/tmp/bucket。它认为$BUCKET是一个字符串。

我也尝试使用${BUCKET}而不是,$BUCKET但这也不起作用。

有什么方法可以传递变量吗?

注意:我想这样做的原因是我的真实代码中有大量参数。我在上面只提供了一个玩具示例。我希望只能在一个地方更新环境变量。

Dha*_*ddy 2

几天前我遇到了同样的问题。我找到了一个名为EnvFile的插件。 环境文件 使用它,您可以在运行脚本之前导出 env 文件。安装后,您将在配置中获得一个额外的 EnvFile 选项卡。在那里选择您的环境文件。它特定于配置。现在,每次运行时配置的环境变量都会被导出。 环境文件选项卡 我的 .env 文件

环境文件

  • 这对我不起作用。我可以通过 `print(os.environ['SOME_ENV_VAR'])` 打印环境变量,但是脚本参数中的 env 变量不会被它们的值替换(即使我已经选中了“替换环境...”框)。我想知道为什么。 (2认同)