在docker镜像中更新sqlite3

icomxhvb  于 6个月前  发布在  SQLite
关注(0)|答案(1)|浏览(105)

我正在检查我的sqlite3版本,使用:

python -c "import sqlite3; print(sqlite3.sqlite_version)"

字符串
在我的本地机器上,这提示我3.41.1。然而,一旦我构建了我的docker镜像,如果我这样做:

sudo docker exec -t <docker_image_number> python -c "import sqlite3; print(sqlite3.sqlite_version)"


我得到3.34.1。
为了构建docker,我从python运行:3.9.3。我已经读到sqlite3是python本身的库,根据python版本/他们用于编译的版本更新。我甚至尝试过python:3.16.0,但我仍然得到3.34.1。我希望至少有sqlite3 3.35。我如何更新这个库?对于我的docker,我做了RUN apt-get updateRUN pip install --no-cache-dir --upgrade -r /code/requirements.txt,但要求是我的conda库的冻结,其中sqlite3是3.41.1

FROM python:3.9.3

# from compose args
ARG BITBUCKET_APP_PASS 

# Variable arguments
WORKDIR /code

#Install requirements
#COPY ./.env ./.env
COPY ./requirements.txt /code/requirements.txt
RUN apt-get update
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt

#Copy code into the container
COPY ./django_app/ /code/app/src/
COPY ./init_app_in_docker.sh /code/app/src/init_app_in_docker.sh
COPY ./.env ./code/app/src/.env

#Start the app
WORKDIR /code/app/src/
CMD ./init_app_in_docker.sh

mlmc2os5

mlmc2os51#

我正在构建一个flask应用程序,它需要sqlite3版本也是3.35+。对于我的docker镜像,我使用python 3.11,这带来了sqlite3版本3.40,这对我来说很好。这些是Dockerfile的第一行

# syntax=docker/dockerfile:1
FROM python:3.11
WORKDIR /app
RUN pip install pip==21.3.1

字符串
我将我的pip降级到21.3.1,以访问一些在更高版本中没有索引的库,请随意忽略。

相关问题