首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >让Docker容器使用最新版本的Python安装

让Docker容器使用最新版本的Python安装
EN

Stack Overflow用户
提问于 2021-10-12 21:13:05
回答 1查看 1.4K关注 0票数 1

我在我的Docker容器中使用了几个Python模块,它们需要更高版本的Python。我安装Python并使用以下方法安装模块:

代码语言:javascript
运行
复制
RUN apt-get update || : && apt-get install python3 -y
RUN apt-get install -y python3-pip
COPY requirements.txt /project
RUN pip3 install -r requirements.txt

我希望我会在我的Docker容器中使用最新版本的Python,但是当我进入它的shell并运行它时,python3 --version作为3.4.2出现了,这对于我的程序来说是非常古老的。如何使默认Python成为我上面安装的最新版本,而不影响系统级别的python?

我为Docker容器使用的映像运行库是:node:9-slim

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-13 01:52:20

我认为您无法在debian 8发行版上找到预先构建的python3.9包,因为您的环境已经很老了。

唯一的解决方案是在基本容器中从源代码构建python3.9。下面是一个完全可行的Dockerfile:

代码语言:javascript
运行
复制
FROM node:9-slim

RUN apt update; \
apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev; \
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz; \
tar -zxvf Python-3.9.7.tgz; \
cd Python-3.9.7; \
./configure --prefix=/usr/local/python3; \
make && make install; \
ln -sf /usr/local/python3/bin/python3.9 /usr/bin/python3; \
ln -sf /usr/local/python3/bin/pip3.9 /usr/bin/pip3

验证它:

代码语言:javascript
运行
复制
$ docker build -t myimage:1 .
$ docker run --rm -it myimage:1 python3 --version
Python 3.9.7
$ docker run --rm -it myimage:1 pip3 --version
pip 21.2.3 from /usr/local/python3/lib/python3.9/site-packages/pip (python 3.9)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69547099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档