python安装方式集合(ubuntu)
方式一:apt包管理器方式安装:
1、解除仓库限制
- 官方仓库的 Python 版本通常较保守(如 Ubuntu 22.04 默认仅支持到 Python 3.10)。
- 若需更新版本(如 Python 3.11/3.12),需添加第三方 PPA 仓库:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
|
2、查看可安装python版本
3、安装python3.13
4、设置环境
which python3.13
python3.13 -c "import sys; print(sys.executable)"
ln -s /usr/bin/python3.13 /usr/bin/python3
|
5、安装pip
- 方法 1:使用
ensurepip(推荐)—— Python 内置的 ensurepip 模块可直接安装 pip:
python3.13 -m ensurepip --upgrade
|
- 方法 2:通过
get-pip.py 脚本 —— 若 ensurepip 不可用(如编译时被禁用),手动下载并安装:
curl -O https://bootstrap.pypa.io/get-pip.py python3.13 get-pip.py rm get-pip.py
sudo apt install python3.8-distutils python3.8-venv curl -O https://bootstrap.pypa.io/pip/3.8/get-pip.py python3.13 get-pip.py rm get-pip.py
|
- 方法 3:通过 APT 安装(需仓库支持)—— 若 Python 3.13 来自第三方仓库(如
deadsnakes),尝试安装对应 pip:
sudo apt install python3.13-pip
|
pip pip3 pip3.13
- 修复路径与权限 —— 安装后,
pip 的可执行文件应位于:
/usr/local/bin/pip3.13 /usr/bin/pip3.13
|
ln -s /usr/local/bin/pip3.13 /usr/bin/pip3
|
方式二:Pyenv多版本管理方式:
Pyenv版本优先级:Shell > Local > Global
1、更新系统
首先,你需要确保你的 Ubuntu 系统是最新的。
sudo apt update sudo apt upgrade
|
2、安装pyenv 前置依赖
PyENV 需要一些依赖项才能正常工作,运行以下命令安装它们。
sudo apt-get install build-essential libbz2-dev libncurses5-dev libncursesw5-dev libffi-dev libreadline-dev libssl-dev libsqlite3-dev liblzma-dev zlib1g-dev wget curl llvm libncurses-dev xz-utils git
|
3、安装 PyENV
执行以下命令,安装 PyENV
curl https://pyenv.run | bash
|

4、更新Shell配置
安装 PyENV 后,您需要将其添加到 shell 配置中,编辑 ~/.bashrc 文件,添加以下行,以便每次打开终端时它都会加载。
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
|
使用 source 命令,使更改生效。
安装 PyENV 后,您需要将其添加到 shell 配置中,编辑 ~/.bashrc 文件,添加以下行,以便每次打开终端时它都会加载。
echo 'export PYENV_ROOT="/root/.pyenv"' >> /etc/profile.d/pyenv.sh echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /etc/profile.d/pyenv.sh echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> /etc/profile.d/pyenv.sh
|
使用 source 命令,使更改生效。
source /etc/profile.d/pyenv.sh
|
5、安装不同的python版本
现在您可以安装所需的任何版本的 Python。例如,要安装 Python 3.12
或者您可能需要安装 Python 2.7 等旧版本
列出系统上安装的所有 Python 版本
6、设置全局python版本
您可以设置默认使用的全局 Python 版本,比如将 Python 3.12 设置为全局版本。
查看当前全局 Python 版本

7、设置其他版本
# 进入你的项目目录 cd ~/projects/legacy-project
# 设置该目录的 Python 版本为 3.8 pyenv local 3.8.12 # 假设已安装 3.8.12
# 这会生成一个隐藏文件 `.python-version`,记录版本号
# pyenv shell 3.8.12 # 临时设置 python --version # 应显示 3.8.12
# 退出临时模式(恢复全局或本地设置) pyenv shell --unset
# 恢复全局版本 cd ~/projects/legacy-project rm .python-version # 删除版本标记文件
|
使用虚拟环境隔离项目(推荐)
# 创建虚拟环境(基于 Python 3.8) pyenv virtualenv 3.8.12 my-legacy-env
# 进入项目目录并激活虚拟环境 cd ~/projects/legacy-project pyenv local my-legacy-env # 自动激活
# 验证 python --version # 显示 3.8.12,且环境独立 pip list # 显示该环境独立的包
# 退出虚拟环境 pyenv deactivate
|
Step 9: 验证版本切换
cd ~ # 退出项目目录 python --version # 应显示全局版本 3.13.0
cd ~/projects/legacy-project python --version # 应显示本地版本 3.8.12 或虚拟环境
|
11、删除pyenv环境
- 1、删除
pyenv 本体及所有 Python 版本
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
|
- **3、 移除已安装的 Python 版本(可选)– 如果之前通过
pyenv 安装了多个 Python 版本,可手动删除:
rm -rf ~/.pyenv/versions/*
|
rm -rf ~/.pyenv/cache rm -f ~/.pyenv/version
|
exec $SHELL
pyenv --version which python
|
sudo rm -rf /usr/local/pyenv
rm -rf ~/.pyenv/plugins
|
方式三:UV方式:
本文参考自:1、【Python】使用uv管理python虚拟环境_uv环境python-CSDN博客
本文参考自:2、uv 简易安装与更换国内镜像源_uv 国内源-CSDN博客
1、安装uv管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
|
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
scoop install uv
|

2、卸载uv:
uv cache clean rm -r "$(uv python dir)" rm -r "$(uv tool dir)"
rm ~/.local/bin/uv ~/.local/bin/uvx
rm $HOME.local\bin\uv.exe rm $HOME.local\bin\uvx.exe
|
3、python管理:
uv python install 3.13
uv python install pypy@3.13
|
- 选用python版本(在具体的某个项目中,进入项目目录,使用如下命令指定选用的python版本)
uv python pin 版本号
uv python pin 3.10
cat .python-version
|
4、创建虚拟环境(项目)
- 方式1:创建项目有两种方式,第一种方式,先创建好项目目录,然后设置python版本并初始化uv虚拟环境
uv python pin 3.10 uv init
|
- 执行了uv init之后,会在当前目录下创建几个文件,同时也会在当前目录下执行git init创建出一个新的git仓库来
~/data/code/python/test_code ❯ uv python pin 3.13 Pinned `.python-version` to `3.13`
~/data/code/python/test_code ❯ uv init Initialized project `test-code`
~/data/code/python/test_code main ?6 ❯ ls README.md main.py pyproject.toml
|
- 方式2:另外一个方式是在init之后添加一个项目名,会自动创建项目文件夹
5、添加依赖
uv add 依赖项
uv add requests
uv add requests==版本号
|
执行了这个命令后,会在当前目录下创建.venv虚拟环境目录(在vscode里面可以选择这个目录作为虚拟环境,否则代码解析会有问题),并添加我们要的依赖项,同时会新增一个uv.lock文件,用于存放依赖项版本相关的信息。pyproject.toml文件中的dependencies字段也会包含需要的依赖项。
~/data/code/python/test_code main ?6 ❯ uv add requests Using CPython 3.13.1 interpreter at: /opt/homebrew/opt/python@3.13/bin/python3.13 Creating virtual environment at: .venv Resolved 6 packages in 13.85s Prepared 5 packages in 5.55s Installed 5 packages in 13ms + certifi==2025.1.31 + charset-normalizer==3.4.1 + idna==3.10 + requests==2.32.3 + urllib3==2.4.0
|
而且,从这个输出中也能看到,它自动使用了.python-version指定的3.13版本的python,和当前我们全局目录下的python3指向什么版本没有关系(我的全局python3指向的是3.10版本)
6、运行程序
依赖添加好后,就可以使用uv来运行python程序了
uv会自动按照我们的配置来运行程序,无序我们手动维护依赖项,也不需要手动去source各式各样的虚拟环境了。
7、uvx命令
随着uv下载的还有一个uvx命令,uvx命令本质上是uv tool run命令的别名
uvx python main.py
uv run main.py
uv tool run main.py
|
实际例子,如下这两个命令是等价的
❯ uvx --directory ~/data/code/python/test_code python main.py Hello from test-code! ❯ uv tool run --directory ~/data/code/python/test_code python main.py Hello from test-code!
|
8、设置下载包的镜像源
uv下载第三方库本质上也是通过pypi源下载的,所以在国内网络环境中默认链接速度会很慢,可以在项目目录的pyproject.toml中添加如下内容来使用清华源
[[tool.uv.index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" default = true
|
运行uv add命令的时候也可以指定镜像源
uv add --default-index https://pypi.tuna.tsinghua.edu.cn/simple requests
|
uv也提供了全局的配置项,可以通过环境变量UV_DEFAULT_INDEX配置镜像源
export UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
|
全局的配置项优先级低于pyproject.toml中配置的镜像源。如果pyproject.toml里面配置了镜像源,则会使用pyproject.toml的配置。