VSCode的Python扩展下程序运行

发布时间:2019-03-14 23:42:24编辑:auto阅读(2244)

    在VSCode中编写Python程序时,由于有些地方要使用环境变量,但是发现设置的环境变量有时不起作用,花了点时间研究了一下,过程不表,直接说结论。

    首先,环境变量的设置,Python扩展中有三种方式:

    1. 直接设置系统环境变量,或在使用命令行启动VSCode时临时先设置环境变量。
      这种方式设置的环境变量在所有的运行方式下起效,但由于多个工程所用的环境变量不同,每次设置太麻烦,使用bash脚本或批处理我也觉得不爽,所以没有采用。

    2. 通过 terminal.integrated.env.windows / terminal.integrated.env.linux / terminal.integrated.env.osx 选项配置。
      选项的格式是字典,键和值都必须是字符串,具体格式:
      {
          "terminal.integrated.env.windows": {
              "ENVIRON_VARIABLE": "The Variable value",
              "VAR2": "111",
              // 下面没加引号的是错的,不会生效
              //"VAR3": 111, 
          },
      }

    3. 通过配置 python.envFile 选项。
      python.envFile 是一个绝对路径,指向一个文件,默认为工程目录下的.env文件,用于定义需要的环境变量,基本格式如下:
      # 注释
      PYTHONPATH = D:\workspace\safe110\webapps
      PYTEST = 111

     

    其次,VSCode的Python扩展有四种程序运行方式,针对不同的运行方式,起作用的环境变量分别如下:

    1. Debug
      以上三种方式设置的环境变量都会生效,VSCode会按照上面列出的顺序依次读取环境变量(即重名变量后面的生效)。

    2. pylint 等后台任务 (包括运行测试和调试测试)
      只有第1种和第3种方式设置的环境变量生效,读取顺序同上。

    3. 右键文件-->在终端运行 或 选中代码,右键-->在Python终端运行
      只有第1种和第2种方式设置的环境变量生效,读取顺序同上。

    4. 运行测试和调试测试(只分析了pytest)
      同2。

关键字