首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pycharm默认配置除了main.py文件中不识别环境变量

Pycharm默认配置除了main.py文件中不识别环境变量
EN

Stack Overflow用户
提问于 2022-03-11 04:56:19
回答 1查看 326关注 0票数 0

我在Pycharm中安装了一个带有默认配置的FastAPI python应用程序。我在“运行/调试配置”窗口中添加了环境变量。我还有一个包含相同变量的.env文件( gitignored)。

显然,在本地测试时,Pycharm完全忽略了这个.env文件。只有我在Run/Debug配置窗口中设置的变量才被识别--这些变量只能从运行main.py应用程序的文件FastAPI中访问。

通过main.py访问以这种方式定义的环境变量可以处理以下任意一个:

代码语言:javascript
复制
# these all work inside main.py but can't be accessed outside of main.py
os.environ['VAR_HERE']
os.environ.get['VAR_HERE']
os.getenv['VAR_HERE']

为什么Pycharm不识别main.py之外的环境变量(在辅助模块中,等等)?如何让Pycharm识别main.py之外的环境变量?

我把这个应用程序托管在Heroku上。我有一个外部redis文件,它引用了一个没有问题的Heroku存储的配置变量。出于某种原因,redis也在当地正常工作。但是如果我尝试直接从Pycharm运行redis init文件,print语句将环境变量显示为“None”.

我有什么没拿到的?

EN

回答 1

Stack Overflow用户

发布于 2022-03-11 08:59:21

要激活.env文件,必须设置工作目录,即.env文件所在的目录。这通常位于模块根目录之外,您的app.pymain.py位于其中;如果不这样做,工作目录将在模块本身内设置-而.env文件不会被拾取。当您刚刚选择run/debug时,这是默认行为。

编辑您的配置,并将工作目录显式地设置为包含您的.env文件的目录--这通常是您的模块目录的一个级别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71433822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档