在PyCharm中看到完整的intellisense (代码完成)选项时有问题。在Windows上使用python3.4。这些建议部分起作用:
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来完成。
发布于 2015-07-28 16:22:27
之所以会发生这种情况,是因为boto3客户端和资源对象上的所有方法都是在运行时根据描述服务支持的操作的JSON文件生成的。Pycharm必须对这个过程有专门的知识,才能自动完成方法名称。
对于第二个问题,boto3是Python的官方AWS。boto3的一个主要优点是,由于这个描述AWS的JSON模型驱动过程,大多数新的服务特性只需要简单的模型更新。这意味着API更新以快速、一致和可靠的方式进行。
但是,如果您在现有代码中使用boto,并且它对您有用,请继续使用它。如果您需要引入新的功能,可以始终沿侧boto安装boto3。
发布于 2016-07-29 02:19:52
我对同样的问题感到沮丧。因此,我决定解析boto3文档并从文档中生成包装类。下面是到项目https://github.com/gehadshaat/pyboto3的链接
安装它
pip install pyboto3
使用它
import boto3
s3 = boto3.client('s3')
""" :type : pyboto3.s3 """
# s3. -> will give you autocomplete for s3 methods in pycharm
确保你首先:
在Pycharm重新启动之后,您应该会看到intellisense对您有利,并且您尝试使用的所有服务可用方法(在上面的s3中)都是可用的!
发布于 2018-11-14 06:47:14
这里的房间有点拥挤,但我也创建了一个boto3
类型解决方案(GitHub链路),boto3_type_annotations
。我采用了pyboto3
方法,并分析了服务对象的文档字符串,然后以编程方式为它们编写类定义,并使用typing
模块注释参数和返回类型。与pyboto3
不同,我创建了所有东西,包括服务资源、分页器和服务生。还有一个选项,我把docstring放在其中,这样PyCharm的快速文档就可以工作了。但公平的警告,这个方案真的很大。
# Without docs
pip install boto3_type_annotations
# Or with docs
pip install boto3_type_annotations_with_docs
https://stackoverflow.com/questions/31555947
复制相似问题