Docker环境Ubuntu20.04安装Python3.10版本

简介: Docker环境Ubuntu20.04安装Python3.10版本

背景和环境说明

随着Python3.8+不在维护,以及新的部署包逐渐不在支持Python3.8+,所以新的开发程序需要再Python3.10+版本,或其他版本上运行。
在开发完应用后,我需要打包成docker image, 用的基础镜像是 nvidia/cuda:11.7.1-cudnn8-devel-ubuntu20.04。默认Python环境仍然是Python3.8+。故本教程主要在此镜像基础上安装Python3.10版本。
原则上同样适用于其他Ubuntu等Linux系统

安装资源下载

Python各版本下载地址 Python官网

方案一,如果您的网络没有限制推荐此方案

  • 安装脚本
RUN apt-get update \
   && apt-get install -y git curl wget python3.10 libpython3.10-dev python3-pip \
   && apt-get install -y libgl1-mesa-glx libglib2.0-0 \
   && ln -sf /usr/bin/python3.10  /usr/bin/python3 \
   && ln -sf /usr/bin/python3.10  /usr/bin/python \
   && apt-get autoclean && rm -rf /var/lib/apt/lists/*

方案二,源码安装

  • 安装脚本

ADD https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz /usr/local/Python-3.10.14.tgz

RUN tar -zxvf Python-3.10.14.tgz && cd Python-3.10.14 && apt-get update \
    && apt-get install -y gcc g++ make libncurses5-dev libgdbm-dev liblzma-dev libz-dev libffi-dev libreadline-gplv2-dev tk-dev libc6-dev zlib1g-dev \
    && apt-get install -y checkinstall libdb-dev libexpat1-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev libtinfo-dev libbz2-dev build-essential \
    && ./configure --prefix=/usr/local --enable-optimizations --with-ensurepip \
    && make -j4 && make install && cd ../ && rm -rf Python-3.10.14* \
    && apt-get autoclean && rm -rf /var/lib/apt/lists/*

验证

python3 -V

pip3 -V

单独安装pip

bash脚本

curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py 
python3 get-pip.py
rm get-pip.py
ln -sf /usr/local/bin/pip3 /usr/bin/pip

Dockfile文件

RUN curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py \
    && python3 get-pip.py && rm get-pip.py \
    && ln -sf /usr/local/bin/pip3 /usr/bin/pip \
    && apt-get autoclean && rm -rf /var/lib/apt/lists/*
目录
相关文章
|
5月前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
2月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
163 5
|
4月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
323 16
|
5月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
5月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
489 5
|
6月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
至此,这次神秘而简明的部署之旅告一段落。祝你在利用RabbitMQ打造消息队列时,一切顺风顺水!
265 8
|
5月前
|
存储 缓存 Serverless
【Azure Container App】如何在Consumption类型的容器应用环境中缓存Docker镜像
在 Azure 容器应用的 Consumption 模式下,容器每次启动均需重新拉取镜像,导致冷启动延迟。本文分析该机制,并提出优化方案:使用 ACR 区域复制加速镜像拉取、优化镜像体积、设置最小副本数减少冷启动频率,或切换至 Dedicated 模式实现镜像缓存,以提升容器启动效率和应用响应速度。
153 0