You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python读取AWS环境变量时返回空值的问题排查

问题分析与解决方案

核心原因:AWS CLI配置的凭证、区域信息是存储在本地的配置文件中,不会自动同步为系统环境变量,这是两种独立的AWS身份认证配置方式。以下是具体解决方法:

方法1:手动设置Windows系统环境变量

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  2. 在「系统变量」区域点击「新建」,依次添加以下变量:
    • 变量名:AWS_ACCESS_KEY_ID,变量值:你的AWS访问密钥ID
    • 变量名:AWS_SECRET_ACCESS_KEY,变量值:你的AWS秘密访问密钥
    • 变量名:AWS_REGION,变量值:你的目标区域(如us-east-1)
  3. 保存后重启命令行工具或IDE,环境变量才会生效,此时Python就能读取到这些值。

方法2:让Python直接读取AWS CLI配置文件(更推荐)

无需手动设置环境变量,利用AWS SDK(boto3)的默认凭证链自动读取CLI配置:

import boto3

# 自动读取CLI的default配置,初始化客户端
s3_client = boto3.client('s3')

# 如果使用非default的CLI配置文件(比如自定义profile)
session = boto3.Session(profile_name='your-custom-profile')
ec2_client = session.client('ec2')

如果需要手动读取CLI配置文件内容,可使用configparser模块:

import configparser

# 读取凭证文件
cred_config = configparser.ConfigParser()
cred_config.read(r'C:\Users\<你的用户名>\.aws\credentials')
access_key = cred_config.get('default', 'aws_access_key_id')
secret_key = cred_config.get('default', 'aws_secret_access_key')

# 读取区域配置
region_config = configparser.ConfigParser()
region_config.read(r'C:\Users\<你的用户名>\.aws\config')
region = region_config.get('default', 'region')

方法3:验证CLI配置正确性

先通过命令行确认CLI配置是否有效:

aws configure list

如果输出中显示aws_access_key_id、aws_secret_access_key、region均有值,说明CLI配置没问题,只需按上述方法1或2处理即可。

内容的提问来源于stack exchange,提问作者luckyluke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:40:58