Azure App Service - has Older Sqlite3 version 3.34.1

Manoranjan Kumar 20 Reputation points
2023-09-15T05:13:33.07+00:00

I have created an Azure App Service with below options:

OS: Linux
Runtime: Python 3.11 or Python 3.10
App Service Plan: Free

When I deployed my python flask app on the above app service, I was surprised to find the sqlite3 version 3.34.1 which is pretty old and stale. it dates back to 20-Jan-2021

https://www.sqlite.org/chronology.html

Here is the small code snippet, that I executed on Azure App Service:

import sqlite3
print(sqlite3.sqlite_version)

Usually, sqlite3 is part of the Python's standard library, when I check it inside open-source Python 3.11 has 3.39.4,

Why is this gap on App Service. Do they create a custom python distribution with older sqlite3 version intentionally or where is the gap?

Please help to clarify the doubts. Thanks in advance

EDIT:
Usually, sqlite3 is part of the Python's standard library (.dll), this is the case only for Windows.

Python distribution for Linux does not ship with sqlite3 package as part of its standard library (.so) In other words, On Linux, Python depends on underlying Linux's system wide standard library (.so).

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
6,997 questions
{count} votes

Accepted answer
  1. Andriy Bilous 10,996 Reputation points MVP
    2023-09-16T10:34:21.4066667+00:00

    Hello @Manoranjan Kumar

    App Service on Linux supports a number of language specific built-in images. Python Dockerfile that is used by Azure App Service Linux is located here.

    Base image is mcr.microsoft.com/oryx/python with is modified Debian https://github.com/microsoft/Oryx/blob/main/images/runtime/python/3.11/base.bullseye.Dockerfile

    https://github.com/microsoft/Oryx/blob/main/doc/supportedRuntimeVersions.md

    Microsoft updates language specific built-in images from time to time, but if the runtime your application requires is not supported or required additional packages are not included in the built-in images, you can deploy it with a custom container.


0 additional answers

Sort by: Most helpful