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

xoefb8l8  于 2023-10-22  发布在  SQLite
关注(0)|答案(2)|浏览(203)

正如我们所知,sqlite3通常是python标准库的一部分。
我们对sqlite3版本进行了比较,发现Azure应用服务和本地Windows计算机具有B/w,但两者都具有相同的Python 3.11版本
已使用以下选项创建Azure应用服务:

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

App Service上发布了 Package 在Web应用程序中的代码片段:

import sqlite3
print(sqlite3.sqlite_version)

我们也在本地windows机器(Python 3.11)上执行了相同的代码。
结果如下:

  • Azure App Service上的Sqlite3版本为:3.34.1这是相当古老的,按照这个link
  • local windows machine上的Sqlite3版本是:3.39.4,如果不是最新的,也是最近的

由于这个version gap,某些需要sqlite3 >= 3.35.0的库(如chromadb)无法在Azure App Service上创建索引。
有人能解释一下sqlite3版本B/w Azure App ServiceLocal Windows(使用开源python发行版)之间的差距吗?尽管两者都有相同的Python 3.11版本,我们如何在App Service上升级sqlite3版本
先谢了。

xggvc2p6

xggvc2p61#

是的,根据James的评论,当我在Azure应用程序服务中使用SQLlite部署示例streamlit应用程序时,Azure应用程序服务使用了Sqllite版本- 3.34.1,参考如下:

根据我的SO线程回答这里为了chromodb包工作,你需要像下面这样用Python 3.8创建你的Azure Web应用程序:

相关问题