Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在PyCharm中设置环境变量?_Python_Django_Environment Variables - Fatal编程技术网

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

Python 如何在PyCharm中设置环境变量?,python,django,environment-variables,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 我读过,但这并不能解决我想要的问题。此外,我还尝试在首选项->构建、执行、部署中设置环境

我已经开始处理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控制台,但它设置解释器的变量。

我可以使用一个名为PyCharm插件来计算出这个变量。这个插件,基本上允许设置环境变量从一个或多个文件运行配置

安装非常简单:

首选项插件浏览存储库…>搜索“Env文件”>安装插件

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

DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
DEBUG=1
然后我转到运行->编辑配置,并按照下图中的步骤进行操作:


在3中,我选择了文件
environment.env
,然后我只需单击PyCharm中的播放按钮,一切都像一个符咒一样工作。

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

  • 打开右上角的运行配置选择器,点击编辑配置…

  • 找到
    环境变量
    并单击

  • 添加或更改变量,然后单击
    OK

  • 你可以和我一起去


    此功能现在已添加到IDE中(适用于Pycharm 2018.3)

    只需单击运行配置中的
    EnvFile
    选项卡,单击
    启用EnvFile
    ,然后单击+图标添加一个env文件


    更新:基本上与@imguelvargasf的答案相同,但插件默认为我启用。

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

    setx YOUR_VAR "VALUE"
    

    您可以使用
    os.environ['your_VAR']

    在脚本中访问它,这就是您可以在pycharm/django控制台中生成.env(和.flaskenv)文件的方法。当然,它也适用于普通的python控制台

  • 在您的环境中安装python dotenv(与pycharm所指的相同)

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

  • 在“开始脚本”中,在顶部附近包括如下内容:

    从dotenv导入加载\u dotenv加载\u dotenv(verbose=True)

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

    无论是否包含导出,dotenv都可以读取它

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

    这家伙是对的

    请记住。无法使用导出定义环境变量。
    例如
    REDIS\u HOST=localhost
    ,但是如果您使用
    export REDIS\u HOST=localhost
    进行定义,那么它将不起作用。

    @lmiguelvargasf对于这个答案,我非常感谢。看起来Pycharm无法在.bashrc中获取环境变量源代码(我在Linux上)。这个插件节省了我很多时间,因为我可以使用postactivate文件作为源。@lmiguelvargasf是的,对不起。我的意思是2017.2.4在2017.3在这里工作。谢谢2017年工作。2@krinker,当您在浏览文件时,请按,
    cmd
    +
    shift
    +
    以显示隐藏的文件。哦,我只是想在那一行上键入,三点显示为灰色,所以我甚至没有想点击它。我尝试了这种方法,但PyCharm没有选择定义的环境变量(我特别尝试设置数据库的URL)。看起来像PyCharm bug。@在PyCharm中,LNI有两个地方可以设置环境变量。一个是用于运行环境(它设置Joran的显示方式),另外我们还可以设置PyCharm中控制台可用的变量(它在这里设置首选项->构建、执行、部署->控制台->Python控制台)是的,这对我来说似乎是正确的答案。我想补充一点,如果你在Defaults/Python配置中设置环境变量,那么每次右键单击脚本并运行它时都会使用它。这对我来说很有效。不过,我必须先重新启动我的解释器。在pycharm中设置变量有一个缺点,那就是如果你删除它们,就会丢失它们另一种方法是设置一个默认值,如下面的import os.getenv(key='DATABASE\u URL',default='1postgres://127.0.0.1:5432/my_db_name')我认为,如果你使用我的答案中提到的方法,你就不会丢失环境变量,因为它们将在你使用的文件中。这个答案并没有解决这个问题,因为它指的是如何在PyGrand中设置它们,而不是它们是否丢失。我也不认为直接在代码中硬编码值是一个好主意。这是一个非常糟糕的做法。.我是pycharm 2019,没有看到选项卡
    EnvFile
    。这在Python配置中可用吗(您的屏幕截图是DjangoServer)?他安装了“EnvFile”插件。
    setx YOUR_VAR "VALUE"