ndb
Model 类的实例对象没有类型提示。
例如
some_datetime
不显示任何类型提示。类型提示在其他地方起作用。
我是否需要安装专门用于类型提示的东西才能与
ndb
库一起使用?
from google.cloud import ndb
class MyModel(ndb.Model):
some_datetime = ndb.DateTimeProperty()
def f(self):
self.some_datetime # PyCharm does not give type hints for datetime obj
# I expect hints like .timestamp, .tzinfo, etc
链接到 ndb 库
很抱歉,在使用 PyCharm 时遇到了
ndb
模型的类型提示问题。看起来
ndb
库没有提供 PyCharm 能够直接理解的类型提示信息。
可以尝试以下几种解决方案:
1. 使用 Python 的类型注释:
-
可以手动为
ndb
模型添加类型注释。例如:```python from google.cloud import ndb from datetime import datetime
class MyModel(ndb.Model): some_datetime: datetime = ndb.DateTimeProperty()
def f(self): self.some_datetime # PyCharm 现在应该能提供类型提示
```
-
这种方法需要手动添加类型注释,但能为 PyCharm 提供更清晰的信息。
2. 使用类型提示生成工具:
-
一些工具可以为 Python 代码生成类型提示,例如
mypy
的stubgen
命令。 -
可以尝试使用这些工具为
ndb
库生成*.pyi
存根文件,其中包含类型信息。 -
但是,这种方法的成功取决于工具是否能够正确解析
ndb
库。
3. 提交问题或查找插件:
-
可以到 PyCharm 的问题跟踪器或
ndb
库的 GitHub 仓库提交 issue,报告类型提示缺失的问题。 -
也可以搜索是否有专门针对
ndb
库的 PyCharm 插件,提供更好的类型提示支持。
4. 等待官方支持:
-
ndb
库的开发者未来可能会添加对类型提示的官方支持。可以关注他们的更新公告。
请注意,以上解决方案不一定都能完全解决的问题。
ndb
库本身的类型信息可能不够完善,导致类型提示工具难以发挥作用。
希望这些信息能够帮助!
标签:python,google-cloud-platform,pycharm,google-cloud-datastore,python-typing From: 61280660