如何在 Vercel 中使用 `pymongo` 和 `flask`

问题描述 投票:0回答:1

我想向 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

也许

pymongo
需要创建可变对象,而 Vercel 上的 Python 解释器没有?我不知道。

python mongodb flask pymongo vercel
1个回答
0
投票

从错误消息“cannot import name 'MutableMapping' from 'collections'”来看,您正在运行的代码似乎针对旧版本的 Python。 Python 3.9 的文档指出:

自 3.3 版本起已弃用,将在 3.10 版本中删除:已移动 Collections 抽象基类到collections.abc 模块。为了 向后兼容,它们在此模块中继续可见 通过 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

来完成
© www.soinside.com 2019 - 2024. All rights reserved.