我已经开始在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控制台,但它设置了解释器的变量。
答案 0 :(得分:59)
您可以在Pycharm的运行配置菜单中设置环境变量。
打开右上角的“运行配置”选择器,然后点击Edit Configurations...
点击Environmental variables
,然后点击...
添加或更改变量,然后点击OK
您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
然后我转到运行 - > 修改配置,然后按照下一张图片中的步骤操作:
3,我选择了文件environment.env
,然后我就可以点击PyCharm中的播放按钮,一切都像魅力一样。
答案 2 :(得分:4)
此功能现已添加到IDE(可以运行Pycharm 2018.3)
只需在运行配置中单击EnvFile
标签,再单击Enable EnvFile
,然后单击+图标以添加环境文件
更新:与@imguelvargasf的回答基本相同,但默认情况下为我启用了该插件。
答案 3 :(得分:1)
这是您可以在 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 文件。
答案 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