正如我们所知,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
这是相当古老的,按照这个linklocal windows machine
上的Sqlite3
版本是:3.39.4
,如果不是最新的,也是最近的
由于这个version gap
,某些需要sqlite3 >= 3.35.0
的库(如chromadb
)无法在Azure App Service
上创建索引。
有人能解释一下sqlite3
版本B/w Azure App Service
与Local Windows
(使用开源python发行版)之间的差距吗?尽管两者都有相同的Python 3.11
版本,我们如何在App Service
上升级sqlite3
版本
先谢了。
2条答案
按热度按时间xggvc2p61#
是的,根据James的评论,当我在Azure应用程序服务中使用SQLlite部署示例streamlit应用程序时,Azure应用程序服务使用了Sqllite版本- 3.34.1,参考如下:
根据我的SO线程回答这里为了chromodb包工作,你需要像下面这样用Python 3.8创建你的Azure Web应用程序:
xcitsw882#
我已经解决了这个问题。以下链接列出了步骤:
https://learn.microsoft.com/en-us/answers/questions/1369017/azure-app-service-has-older-sqlite3-version-3-34-1