代码之家  ›  专栏  ›  技术社区  ›  Isus Ramzy

如何在Vercel中使用“pymongo”和“flask”

  •  0
  • Isus Ramzy  · 技术社区  · 9 月前

    我想在Vercel上托管的Flask应用程序中添加数据库功能。

    使用时 pymongo 网站抛出 HTTP 500 说我的应用程序崩溃了。

    它还说我应该检查日志。

    日志显示此错误:

    [ERROR] Runtime.ImportModuleError: Unable to import module 'vc__handler__python': cannot import name 'MutableMapping' from 'collections' (/var/lang/lib/python3.12/collections/__init__.py)
    Traceback (most recent call last):INIT_REPORT Init Duration: 1348.16 ms Phase: invoke   Status: error   Error Type: Runtime.Unknown
    

    也许 吧 皮蒙哥语 需要创建可变对象,而Vercel上的Python解释器没有它?我不知道。

    1 回复  |  直到 9 月前
        1
  •  0
  •   PocketT    9 月前

    从错误消息“无法从'collections'导入名称'MutableMapping'”来看,您运行的代码似乎针对的是旧版本的Python。这个 documentation for Python 3.9 声明:

    自3.3版本起已弃用,将在3.10版本中删除:已移动 集合抽象基类到Collections.abc模块。For 向后兼容性,它们在此模块中仍然可见 通过Python 3.9。

    此外,请确保PyMongo版本与您使用的Python版本兼容。你使用的是Python 3.12,所以PyMongo版本应该是4.5或更高。查看兼容性矩阵: https://www.mongodb.com/docs/languages/python/pymongo-driver/current/compatibility/#language-compatibility .如果你必须升级你的PyMongo版本,你可以用 python3 -m pip install --upgrade pymongo