我想用作debian:bullseye基础映像,然后安装特定的 Python 版本 - 即 3.11.1。目前我正在学习docker和linux。
据我了解,我可以:
我在这里和网上的文章中遇到了无数的问题。我用死蛇吗?我需要什么版本?有没有官方的 python 发行版(无论如何谁都是死蛇)?
但最终我想知道使用 Python 的最佳方法。我不想使用 Python 基础映像 - 我对所涉及的步骤很好奇。编译源代码 - 我还远没有达到那种水平的专业知识 - 改天再做。
目前我正在开展以下工作:
FROM debian:bullseye
RUN apt update && apt upgrade -y
RUN apt install software-properties-common -y
RUN add-apt-repository "ppa:deadsnakes/ppa"
RUN apt install python3.11
Run Code Online (Sandbox Code Playgroud)
这失败了:
#8 1.546 E: Unable to locate package python3.11
#8 1.546 E: Couldn't find any package by glob 'python3.11'
Run Code Online (Sandbox Code Playgroud)
最终 - 这不是错误 - 它只是找到一种在我的容器上获取特定 Python 版本的好方法。
如果您想在 debian bullseye 中安装 Python 3.11,您必须按照以下步骤从源代码编译它(在 Dockerfile 内):
sudo apt update
sudo apt install software-properties-common wget
wget https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tar.xz
sudo tar -xf Python-3.11.1.tar.xz
cd Python-3.11.1
sudo ./configure --enable-optimizations
sudo make altinstall
Run Code Online (Sandbox Code Playgroud)
另一种选择(最简单)是使用官方 Python Docker 映像,根据您的情况:
FROM 3.11-bullseye
Run Code Online (Sandbox Code Playgroud)
您拥有docker hub中可用的所有版本。
在您的情况下可能有趣的其他选项是3.11-slim-bullseye,这是一个不包含默认标记中包含的公共包的图像,仅包含运行 python 所需的最小包。
| 归档时间: |
|
| 查看次数: |
22694 次 |
| 最近记录: |