凌云之家

一个日常记录的地方

docker中Python3.11.11镜像运用

测试环境debian12.x

拉取python镜像

1
docker pull python:3.11.11

构建含有uv的镜像

便携Dockerfile

1
2
3
4
5
6
7
# Dockerfile
FROM python:3.11.11
WORKDIR /app
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& pip install uv -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

构建镜像

1
docker build -t python:3.11.11-uv .

运行镜像

1
docker run -itd --rm --name python_env python:3.11.11-uv bash

可以将容器的Python解释器拷贝出来

1
2
3
4
5
6
7
docker run -itd --rm --name python_env python:3.11.11-uv bash
mkdir python3.11.11
docker cp python_env:/usr/local/bin ./python3.11.11
docker cp python_env:/usr/local/lib ./python3.11.11
docker cp python_env:/usr/local/include ./python3.11.11
docker cp python_env:/usr/local/share ./python3.11.11
docker stop python_env

docker安装

1
2
# 去清华源安装docker
https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/

docker加速镜像

1
2
3
4
# 博客园 itxh666 维护的docker镜像源
https://www.cnblogs.com/wwkjs/p/18757415/dockerhub
# 腾讯云社区 轩源 维护的docker镜像源
https://cloud.tencent.com/developer/article/2485043

python pip国内源

1
2
3
4
# 清华源说明
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
# 清华源镜像
pip install xxx -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

在linux源码安装python

在Debian12.9测试通过

首先在python官方下载对应版本的源代码

1
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz

然后解压源代码等待编译

1
tar -xvf Python-3.11.11.tgz

进入目录

1
cd Python-3.11.11

如果想要将python完整安装,则需要安装依赖项

1
sudo apt install -y libssl-dev liblzma-dev zlib1g-dev libbz2-dev libncursesw5-dev libdb-dev libreadline-dev uuid-dev libgdbm-dev tk-dev libffi-dev libsqlite3-dev

设置编译选项

1
2
3
# --enable-optimizations 这个是根据环境启用优化
# --prefix=将python安装到指定目录
./configure --enable-optimizations --prefix=/work_dir/app/python3.11.11

开始编译

1
2
# -j(最好是核心数)启用多线程编译
make -j2

编译完成后则安装python

1
make install

测试Python是否运行正常

1
2
# 打印python版本 我这里是3.11.11
/work_dir/app/python3.11.11/bin/python3 -V

python中的uv是一个强大的包管理工具,下面我开始安装

uv有很多的安装方式,这里我通过pip安装

安装uv

1
/work_dir/app/python3.11.11/bin/python3 -m pip install uv

设置环境变量,然后能够在当前用户全局使用它

1
2
3
4
5
6
7
8
9
10
11
# 使用vim打开~/.bashrc
vim ~/.bashrc
# 跳到最后一行,按大写G
# 进入编辑模式,按小写i
# 输入以下变量
export WORK_APP=/work_dir/app
export PYTHON_HOME=$WORK_APP/python3.11.11
export PATH=$PATH:$PYTHON_HOME/bin
# 然后退出编辑模式Esc 输入:wq 保存退出
# 重新加载环境
source ~/.bashrc

测试uv功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 输出版本信息
uv -V
# 常用功能
# 在当前目录初始化项目
uv init .
# 新建一个虚拟环境
uv venv
# 添加依赖
uv add xxxx
# 删除依赖
uv remove xxxx
# 展示依赖以树的形式呈现
uv tree
# 在当前项目配置文件里面可以修改pip源
# 编辑pyproject.toml,在最后面一行添加以下信息
[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true

你好世界! 2025年3月24日

0%