VSCode的Python擴展下程序運行的幾種方式與環境變量管理


在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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM