繁体   English   中英

我如何使用 os.environ select 环境变量(使用 VSCode 和 Python)

[英]How do I select environment variables using os.environ (using VSCode & Python)

我正在 VSCode 中构建一个 Azure Function 并且无法在本地获取我的 function 以引用我添加到 local.settings.json 的环境变量,因为我在尝试访问我的环境变量时遇到错误。 我想访问名为 clientId 的那个。

我的 local.settings.json:

    {
      "IsEncrypted": false,
      "Values": {
      "AzureWebJobsStorage": "",
      "FUNCTIONS_WORKER_RUNTIME": "python",
      "clientId": "test123"
      }
    }

我的脚本:

import os
import azure.functions as func

print(os.environ['clientId'])

错误:

  File "c:\Users\xxxx\source\Repos\xxxx\Python\xxxx\HttpTrigger1\__init__.py", line 7, in <module>
    print(os.environ['clientID'])
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\os.py", 
line 679, in __getitem__
    raise KeyError(key) from None
KeyError: 'clientID'

为了尝试解决此问题,我尝试打印所有期望看到我的 local.settings.json 的环境变量,但是我没有看到任何类似于 local.settings.json 文件的内容。

脚本:

import os
import azure.functions as func

print(os.environ)

回复:

environ({
   "ALLUSERSPROFILE":"C:\\ProgramData",
   "APPDATA":"C:\\Users\\xxxx\\AppData\\Roaming",
   "CHROME_CRASHPAD_PIPE_NAME":"\\\\.\\pipe\\crashpad_4888_HMCJUBDIIALYYBRP",
   "COMMONPROGRAMFILES":"C:\\Program Files\\Common Files",
   "COMMONPROGRAMFILES(X86)":"C:\\Program Files (x86)\\Common Files",
   "COMMONPROGRAMW6432":"C:\\Program Files\\Common Files",
   "COMPUTERNAME":"xxxx",
   "COMSPEC":"C:\\windows\\system32\\cmd.exe",
   "DEPLOYMENT.EXPIRATION.CHECK.ENABLED":"false",
   "DRIVERDATA":"C:\\Windows\\System32\\Drivers\\DriverData",
   "FPS_BROWSER_APP_PROFILE_STRING":"Internet Explorer",
   "FPS_BROWSER_USER_PROFILE_STRING":"Default",
   "HOMEDRIVE":"C:",
   "HOMEPATH":"\\Users\\xxxN",
   "LOCALAPPDATA":"C:\\Users\\xxxN\\AppData\\Local",
   "LOG4J_FORMAT_MSG_NO_LOOKUPS":"true",
   "LOGONSERVER":"\\\\xxxxxxxxxx",
   "NUMBER_OF_PROCESSORS":"8",
   "ONEDRIVE":"C:\\Users\\xxxN\\OneDrive - xxx",
   "ONEDRIVECOMMERCIAL":"C:\\Users\\xxxN\\OneDrive - xxx",
   "ORIGINAL_XDG_CURRENT_DESKTOP":"undefined",
   "OS":"Windows_NT",
   "PATH":"C:\\Program Files\\Eclipse Foundation\\jdk-8.0.302.8-hotspot\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Gemalto\\Classic Client\\BIN;C:\\Program Files (x86)\\Gemalto\\Classic Client\\BIN;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files\\dotnet\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Program Files\\Azure Data Studio\\bin;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files (x86)\\dotnet\\;C:\\Users\\xxxN\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\Users\\xxxxN\\AppData\\Local\\Programs\\Azure Data Studio\\bin;C:\\Users\\xxxxN\\AppData\\Local\\Programs\\Microsoft VS Code\\bin",
   "PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL",
   "PROCESSOR_ARCHITECTURE":"AMD64",
   "PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 140 Stepping 1, GenuineIntel",
   "PROCESSOR_LEVEL":"6",
   "PROCESSOR_REVISION":"8c01",
   "PROGRAMDATA":"C:\\ProgramData",
   "PROGRAMFILES":"C:\\Program Files",
   "PROGRAMFILES(X86)":"C:\\Program Files (x86)",
   "PROGRAMW6432":"C:\\Program Files",
   "PSMODULEPATH":"C:\\Users\\xxxxN\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules",
   "PUBLIC":"C:\\Users\\Public",
   "SESSIONNAME":"Console",
   "SYSTEMDRIVE":"C:",
   "SYSTEMROOT":"C:\\windows",
   "TEMP":"C:\\Users\\xxxxN\\AppData\\Local\\Temp",
   "TMP":"C:\\Users\\xxxxN\\AppData\\Local\\Temp",
   "UID":"fxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxf",
   "USERDNSDOMAIN":"BLUE.LOCAL",
   "USERDOMAIN":"BLUE",
   "USERDOMAIN_ROAMINGPROFILE":"BLUE",
   "USERNAME":"xxxxx",
   "USERPROFILE":"C:\\Users\\xxxxN",
   "WINDIR":"C:\\windows",
   "ZES_ENABLE_SYSMAN":"1",
   "TERM_PROGRAM":"vscode",
   "TERM_PROGRAM_VERSION":"1.66.0",
   "LANG":"en_US.UTF-8",
   "COLORTERM":"truecolor",
   "VSCODE_GIT_IPC_HANDLE":"\\\\.\\pipe\\vscode-git-33ca814331-sock",
   "VSCODE_GIT_ASKPASS_NODE":"C:\\Users\\xxxN\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe",
   "VSCODE_GIT_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node",
   "VSCODE_GIT_ASKPASS_MAIN":"c:\\Users\\xxxxN\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js",
   "GIT_ASKPASS":"c:\\Users\\xxxxx\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh",
   "PYTHONUSERBASE":"C:\\Users\\xxxxx\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\LocalCache\\local-packages"
})

local.settings.json是Azure函数使用的配置文件。 它不是链接到 Python 本身的东西,可以直接在任何环境中工作。

使用这个模块,如果你用它启动 Azure Function,它应该在本地模拟 AzureDevOps 上下文。

https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM