关于os.environ无法取到set设置的临时环境变量

目录

  • 问题
  • 相关解决办法
    • pycharm里直接修改
    • 修改系统环境变量

问题

Windows10下使用Python,flask框架编写web网站:
在使用环境变量来配置多环境时,发现os.environ[‘ops_config’]无法取到环境变量(ops_config是在终端使用命令行命令set设置的环境变量),报错如下:
raise KeyError(key) from None
KeyError: ‘ops_config’
意思是os.environ中并没有这个键值

相关解决办法

pycharm里直接修改

在查阅相关博客后,原因可能是pycharm自身的某些原因,然后使用了改设置中的Python Console中环境变量的方式,如下:
在这里插入图片描述

或者在右上角运行图标旁Edit Configurations中修改相应入口文件中的环境变量
关于os.environ无法取到set设置的临时环境变量_第1张图片

修改系统环境变量

很遗憾,这两种对我来说并没有起到作用,因为我发现这样设置后在使用pycharm里面的运行图标或者run时,设置的环境变量才可以被取到,而我使用了manager启动web服务的方式,一般是在终端下面使用命令行启动的,比如:python manager.py runserver,所以索性直接在系统设置里面添加系统环境变量:
关于os.environ无法取到set设置的临时环境变量_第2张图片

再启动pycharm,这时就能正常取到ops_config环境变量了,并且在终端使用set修改该变量之后再在终端运行时,ops_config的修改是起作用的,但是此时如果是使用pycharm里面带的启动功能的话,ops_config仍然是取local的,说明pycharm启动和使用终端启动对环境变量的取值是有差别的,小菜鸡一枚,也太不懂其中的原理。。。

你可能感兴趣的:(python,pycharm,flask)