由于 sqlite3 版本不兼容,chromadb 无法在使用 Linux 操作系统、Python 3.11 运行时创建的 Azure 应用服务上加载索引

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

众所周知 - sqlite3 通常是 python 标准库的一部分

我们对 sqlite3 版本进行了比较,发现 Azure 应用服务和本地 Windows 计算机都具有相同的 Python 3.11 版本

使用以下选项创建了 Azure 应用服务:

OS: Linux
Runtime: Python 3.11 (3.11.4)
App Service Plan: Free
Region: East US

App Service
:

上发布了包含在网络应用程序中的此代码片段
import sqlite3
print(sqlite3.sqlite_version)

我们也在本地 Windows 机器(Python 3.11)中执行了相同的代码。

结果如下:

  • Sqlite3
    Azure App Service
    上的版本是:
    3.34.1
    ,这是相当旧的,请按照此链接
  • Sqlite3
    local windows machine
    上的版本是:
    3.39.4
    即使不是最新的,它仍然是最新的

因此

version gap
,某些需要
chromadb
的库(例如
sqlite3 >= 3.35.0
)无法在
Azure App Service
上创建索引。

有人可以解释一下

sqlite3
版本 b/w
Azure App Service
Local Windows
(使用开源 python 发行版)中的差距吗,尽管两者都有相同的
Python 3.11
版本,以及我们如何升级
sqlite3
版本于
App Service

提前致谢。

azure sqlite azure-web-app-service sqlite3-python chromadb
1个回答
0
投票

是的,当我根据 James 的评论在 Azure 应用程序服务中部署带有 SQLlite 的示例 Streamlit 应用程序时,Azure 应用程序服务使用了 Sqllite 版本 - 3.34.1,请参阅以下内容:-

enter image description here

根据我的SO线程答案here为了使chromadb包正常工作,您需要使用Python 3.8创建Azure Web应用程序,如下所示:-

enter image description here

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.