我试图在运行Spyder 4.1.3时访问在conda环境中设置的环境变量。在Anaconda提示符和运行命令中激活conda环境时,我可以看到我设置的所有环境变量:
conda env config vars list
我还将Spyder中的Python解释器设置为正确的虚拟环境,并可以确认环境是可访问的(在Spyder屏幕的右下角显示为conda environment,并且可以加载安装在环境中的包)
但是,当我尝试在脚本中调用环境变量时,如下所示:
from boxsdk import JWTAuth
auth = JWTAuth(
client_id= clientID,
client_secret= clientSecret,
enterprise_id= enterpriseID,
jwt_key_id= publicKeyID,
rsa_private_key_data= privateKey,
rsa_private_key_passphrase= passphrase
)
我收到此错误(其中varName
为通用变量名):
NameError: name 'varName' is not defined
我检查以确保脚本中的变量名与conda环境变量中的变量名匹配。TIA寻求任何帮助或建议
通常在python中访问环境变量时,需要导入
os
包并使用os.getenv()
访问变量。从anaconda文档中我可以看出,这是相同的方法。运行脚本时,所有环境变量都存储在一个字典中,可以使用变量名作为键访问该字典。这与.get()
处理常规词典的方式非常相似,您可以设置默认值,就在这种情况下,os
包将默认值设置为None
。在运行脚本时,可以使用print(os.environ)
检查环境变量是否正确加载,该脚本将打印整个环境变量字典我假设所有这些变量都是环境变量,如果这不是真的,则从那些不是的变量中删除
os.getenv()
相关问题 更多 >
编程相关推荐