首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyCharm用于boto3的智能感知

PyCharm用于boto3的智能感知
EN

Stack Overflow用户
提问于 2015-07-22 06:55:50
回答 9查看 14.3K关注 0票数 27

在PyCharm中看到完整的intellisense (代码完成)选项时有问题。在Windows上使用python3.4。这些建议部分起作用:

代码语言:javascript
运行
复制
import boto3
s = boto3.Session()  (boto3. will bring up list of methods/params of object boto3)
ec2 = s.resource('ec2') (resource is a suggested method!)
ec2. <<<< this brings up nothing. For some reason PyCharm cant detect that ec2 object would have 

虽然我可以单独处理文档,但是intellisense是一个非常好的特性!

我在完成lxml语法方面也遇到了类似的问题,但我认为这是因为我必须将lxml直接安装为二进制文件(太多的循环无法通过windows通过pip安装)。

还有其他人遇到类似的问题吗?

当我们在这里的时候,我看到了与python一起使用awscli的许多不同的库: boto、boto3、troposphere等等。亚马逊说,boto3是比boto更好的方法,但是对于我来说,启动/停止ec2实例可以很容易地用旧的boto来完成。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2015-07-28 16:22:27

之所以会发生这种情况,是因为boto3客户端和资源对象上的所有方法都是在运行时根据描述服务支持的操作的JSON文件生成的。Pycharm必须对这个过程有专门的知识,才能自动完成方法名称。

对于第二个问题,boto3是Python的官方AWS。boto3的一个主要优点是,由于这个描述AWS的JSON模型驱动过程,大多数新的服务特性只需要简单的模型更新。这意味着API更新以快速、一致和可靠的方式进行。

但是,如果您在现有代码中使用boto,并且它对您有用,请继续使用它。如果您需要引入新的功能,可以始终沿侧boto安装boto3。

票数 11
EN

Stack Overflow用户

发布于 2016-07-29 02:19:52

我对同样的问题感到沮丧。因此,我决定解析boto3文档并从文档中生成包装类。下面是到项目https://github.com/gehadshaat/pyboto3的链接

安装它

代码语言:javascript
运行
复制
pip install pyboto3

使用它

代码语言:javascript
运行
复制
import boto3
s3 = boto3.client('s3')
""" :type : pyboto3.s3 """
# s3. -> will give you autocomplete for s3 methods in pycharm

确保你首先:

  1. 安装pyboto3 -> pip安装pyboto3 \ pip3.x安装pyboto3
  2. 检查解释器设置,并验证是否在列表中看到pyboto3。
  3. 执行文件->使缓存无效/重新启动

在Pycharm重新启动之后,您应该会看到intellisense对您有利,并且您尝试使用的所有服务可用方法(在上面的s3中)都是可用的!

票数 28
EN

Stack Overflow用户

发布于 2018-11-14 06:47:14

这里的房间有点拥挤,但我也创建了一个boto3类型解决方案(GitHub链路),boto3_type_annotations。我采用了pyboto3方法,并分析了服务对象的文档字符串,然后以编程方式为它们编写类定义,并使用typing模块注释参数和返回类型。与pyboto3不同,我创建了所有东西,包括服务资源、分页器和服务生。还有一个选项,我把docstring放在其中,这样PyCharm的快速文档就可以工作了。但公平的警告,这个方案真的很大。

代码语言:javascript
运行
复制
# Without docs
pip install boto3_type_annotations

# Or with docs

pip install boto3_type_annotations_with_docs

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31555947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档