我一直在使用python3.9-slim docker映像,作为构建步骤之一,我通过RUN apt-get install python3-dev安装了3.9的python头文件.

这工作了很多年,后来apt发生了变化,现在python3-dev安装的是Python3.11的头文件,而不是3.9.

最重要的是,apt install python3.9-dev不可用.

我有点没想到这些事情会在幕后发生变化,我想到了使用docker图像作为一种获得可复制构建的方式.

有谁能解释一下这种情况是如何改变的/为什么会改变,以及我future 如何更好地处理这一问题?

谢谢

推荐答案

问题是,python3.9和python3.9-slm都是基于Debian书虫的,而这个发行版没有这个包(你可以在bookworm all packages上查看这些包).

如果你想要python3.9-dev包,你可以使用基于Debian靶心的python:3.9-slim-bullseyepython:3.9-bullseye(你可以在bullseye all packages上查看这个发行版上的包)

Python相关问答推荐

使用Numpy进行重写For循环矢量化

是否可以在dash-cytoscape中使用宽度优先布局中的epthSort参数?

Python:比较日期并批量更新某些字段

如何在子窗口中正确设置和获取tkinter旋转框的值?

如何在Pandas 分组处理中执行多个功能

在python的Pandas框架中完成两个条件时删除行

为什么在涉及int和调用str()的多重继承的情况下,Python3.7和3.10的MRO似乎有所不同?

卡方检验中的不同结果

Pandas 多列数据帧的重采样和内插

导入错误:无法导入PerfetoLibrary

在LangChain和OpenAI嵌入中没有从链中获取源文档

将MAP_GROUPS与WITH_COLUMNS一起使用的另一种解决方案

为什么Curve_Fit不符合数据?

如何让FastAPI依赖项填充路径参数?

我怎样才能得到一个包含在Python中的NaN值的平均值?

如何将传入值修改为非局部变量?

从源代码构建Python,已构建但未导入_sqlite3

在保持响应的同时按顺序处理FastAPI中的请求

基于多列的透视并在Python Dataframe中重新排列数据

如何在曲面上绘制圆弧