首页 > 编程问答 >PyCharm 中的 ndb Google Cloud Datastore 的类型提示丢失

PyCharm 中的 ndb Google Cloud Datastore 的类型提示丢失

时间:2024-07-24 14:14:54浏览次数:11  
标签:python google-cloud-platform pycharm google-cloud-datastore python-typing

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

相关文章

  • python的包管理
    获取现有项目有那些依赖安装pipreqspipinstallpipreqs在项目根目录执行pipreqs.--encoding=utf8--force--pypi-server=http://mirrors.aliyun.com/pypi/simple/根据生成文件安装依赖pipinstall-rrequriements.txtpipreqs命令选项Options:--use-local......
  • 如何在 python selenium 中禁用广告隐私设置?
    我对上面有一些问题。当然,当我尝试绕过cloudflare验证码时,我的策略已经破坏了任何cloudflare。但有一些问题。当我在pythonselenium中打开新选项卡时,会弹出广告隐私窗口。谁有解决这个问题的经验。谢谢您的帮助。一旦通过,就不会再发生了。我理解你想在......
  • [附开题]flask框架的基于微信小程序的医院远程预约挂号系统设计与实现6ky98(python+源
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗需求的日益增长和互联网技术的飞速发展,传统的医院挂号方式已难以满足患者高效、便捷的就医需求。患者往往需要长时间排队等待挂号......
  • [附开题]flask框架的基于用户行为分析的商品推荐系统APP1qut6APP(python+源码)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在移动互联网时代,电子商务平台的竞争日益激烈,如何精准地推荐商品给用户,提升用户体验与购买转化率,成为电商企业关注的焦点。传统的推荐算法......
  • [附开题]flask框架的教务管理系统q6190(源码+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和教育改革的不断深入,教务管理工作日益复杂且重要。传统的手工管理方式已难以满足当前高校教务管理的需求,特别是在......
  • python闭包和装饰器
    一、闭包1.闭包的三要素1.外部函数嵌套内部函数2.内部函数可以调用外部函数的局部变量3.外部函数返回内部函数2.示例代码 #外部函数deffunc1():print("func1")#内部函数deffunc2():print("func2")#外部函数返回内部函数re......
  • python Subprocess 模块
    Subprocess介绍subprocess模块是Python标准库中的一个模块,用于管理子进程(子程序)。通过subprocess模块,可以在Python脚本中启动新的进程、连接到它们的输入/输出流以及获取它们的返回值。Subprocess主要功能1.执行外部命令:subprocess允许你在Python脚本中执行系统命......
  • Python 类型提示:自引用类型检查
    我认为静态类型确实会让我在Python中的生活更轻松,考虑到我通常使用C语言工作。我创建了一个像这样的类:classnode(object):"""properties,constructor,etc."""defadd_outneighbor(self,neighbor:node)->None:"""d......
  • Python用shp文件裁剪多个遥感影像的方法
      本文介绍基于Python中ArcPy模块,基于矢量数据范围,对大量栅格遥感影像加以批量裁剪掩膜的方法。  首先,话不多说,本文所需要的代码如下所示。#-*-coding:utf-8-*-"""CreatedonTueDec1320:07:482022@author:fkxxgis"""importarcpyfromarcpy.saimport*......
  • 以编程方式删除 Python 源中的类型提示
    我有一些为Python3.5编写的源代码,我想使其在Python3.4下可执行。我使用的3.5中唯一在3.4中不可用的功能是类型提示,因此我想编写一个脚本来完全删除这些功能。乍一看这似乎很容易,我决定编写一些正则表达式这样做,但后来我想到了一些边缘情况,我不确定如何解决像这样的......