Py学习  »  pycharm

pycharm:为什么“python控制台”不访问~\.aws\credentials文件?如何在“python控制台”中设置

exan • 4 年前 • 700 次点击  

我正在pycharm开发aws dynamodb表。为此,我用python 3.6创建了一个虚拟环境,并安装了像boto3这样的必需库。我还使用~/.aws/credentials文件中的aws cli工具设置了我的aws凭据。

问题是,当我简单地运行代码时,它就像一个符咒一样工作,并且能够读取凭证文件。但是,当我选择在“python控制台”中运行代码时,我会得到一个错误,即凭据已过期。在我看来,“python控制台”似乎无法访问~/.aws/credentials文件,正在其他地方寻找凭据。或者当我选择要在python控制台中运行的代码时,boto3没有从~/.aws/credentials访问凭据文件。

有人可以指导我如何在Python控制台中设置凭据,以便我可以交互地运行代码。

谢谢,

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43404
 
700 次点击  
文章 [ 1 ]  |  最新文章 4 年前
John Rotenstein
Reply   •   1 楼
John Rotenstein    5 年前

Credentials — Boto 3 Docs 1.9.61 documentation :

boto3查找凭据的机制是搜索可能的位置列表,并在找到凭据后立即停止。BOTO3搜索凭据的顺序是:

  • 将凭据作为参数传递到 boto.client() 方法
  • 创建会话对象时将凭据作为参数传递
  • 环境变量
  • 共享凭据文件( ~/.aws/credentials )
  • aws配置文件( ~/.aws/config )
  • 承担角色提供程序
  • BOTO2配置文件( /etc/boto.cfg ~/.boto )
  • 已配置IAM角色的Amazon EC2实例上的实例元数据服务。

因此,如果它不使用凭据文件,则可能是从环境变量获取凭据。