如何在PyCharm中设置环境变量?

时间:2017-03-10 01:11:03

标签: python django environment-variables

我已经开始在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

我已阅读this,但这并不能解决我想要的问题。另外,我尝试在偏好设置 - >中设置环境变量。 构建,执行,部署 - > 控制台 - > Python控制台 / Django控制台,但它设置了解释器的变量。

8 个答案:

答案 0 :(得分:59)

您可以在Pycharm的运行配置菜单中设置环境变量。

  1. 打开右上角的“运行配置”选择器,然后点击Edit Configurations...

    Edit Configurations...

  2. 点击Environmental variables,然后点击...

    Environmental variables

  3. 添加或更改变量,然后点击OK

    Editing environmental variables

  4. access your environmental variables可以os.environ

    import os
    print(os.environ['SOME_VAR'])
    

答案 1 :(得分:52)

我能够使用名为EnvFile的PyCharm插件来解决这个问题。这个插件基本上允许设置环境变量来运行一个或多个文件的配置。

安装非常简单:

偏好设置> 插件> 浏览存储库... > 搜索" Env文件" > 安装插件

然后,我在项目根目录中创建了一个名为environment.env的文件,其中包含:

DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
DEBUG=1

然后我转到运行 - > 修改配置,然后按照下一张图片中的步骤操作:

Set Environment Variables

3,我选择了文件environment.env,然后我就可以点击PyCharm中的播放按钮,一切都像魅力一样。

答案 2 :(得分:4)

此功能现已添加到IDE(可以运行Pycharm 2018.3)

只需在运行配置中单击EnvFile标签,再单击Enable EnvFile,然后单击+图标以添加环境文件

Example with the glorious material theme

更新:与@imguelvargasf的回答基本相同,但默认情况下为我启用了该插件。

答案 3 :(得分:1)

这是您可以在 pycharm flask/django 控制台中获取 .env(和 .flaskenv)文件的方法。当然,它也适用于普通的 Python 控制台。

  1. 在您的环境中执行 pip install python-dotenv(与 pycharm 指向的相同)。

  2. 转到:设置 > 构建、执行、部署 > 控制台 > Flask/django 控制台

  3. “起始脚本”中,在靠近顶部的地方加入类似这样的内容:

    from dotenv import load_dotenv load_dotenv(verbose=True)

.env 文件可能如下所示: export KEY=VALUE

是否包含 export 并不重要,dotenv 可以读取它。

作为替代方案,您还可以在相应虚拟环境的激活 shell 脚本中获取 .env 文件。

答案 4 :(得分:1)

这个人是对的https://stackoverflow.com/a/42708476/9760669

请记住 .env 变量不能用 export 定义。 例如 REDIS_HOST=localhost,但如果您将使用 export REDIS_HOST=localhost 进行定义,那么它将不起作用。

答案 5 :(得分:0)

我可以看到所有答案都在利用GUI设置环境变量。但是,如果您关闭项目并重新打开,它们似乎会重置。在 Linux 上对我有用的是创建一个终端可执行文件,然后从终端启动pycharm。 这样,它可以识别所有系统环境变量。

创建终端可执行文件的步骤:

工具->创建Coomand-line启动器。->确定 然后通过在终端中运行charm应该可以识别所有环境变量。

免责声明但是,它似乎不是动态的。如果您希望在运行中更改环境变量,则可能需要遵循上述答案。否则,我认为这种解决方案会更容易。

答案 6 :(得分:0)

以上方法都不适合我。如果您使用的是Windows,请在PyCharm终端上尝试以下操作:

setx YOUR_VAR "VALUE"

您可以使用os.environ['YOUR_VAR']在脚本中访问它。

答案 7 :(得分:0)

在 Pycharm Python 控制台中输入

ENV_VAR_NAME="STRING VARIABLE"
INT_VAR_NAME=5

与其他 Python 文本编辑器不同,您无需在 Pycharm 中添加 export