2. 安装Python¶
本章讲解如何在鲁班猫板卡上安装Python环境。
重要
教程一般基于Python 3.8.10版本(镜像系统是Ubuntu20.04)进行实验及讲解。
2.1. 关于Python版本¶
鲁班猫镜像是基于Debian、Ubuntu等Linux发行版本,这些发行版本默认都附带了python,一般附带python2*较旧的版本和python3*较新的版本 (ubuntu20.04以上默认不安装python2),可使用如下命令查看默认安装的版本(ubuntu20.04):
# 查看python3版本
cat@lubancat:~$ python3 --version
Python 3.8.10
# 查看python版本
cat@lubancat:~$ python2 --version
Python 2.7.18
# 查看pip3版本
cat@lubancat:~$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
提示
Debian10镜像默认安装的是python3.7.3;Debian11是python3.9.2;ubuntu22.04是Python 3.10.12;ubuntu24.04是Python 3.12.3
2.2. 安装python和pip¶
鲁班猫系统镜像基于Debian、Ubuntu等Linux发行版本,默认已经安装了python,如果没有安装可以使用apt命令安装和更新:
# 确认连接网络,第一次使用apt需要更新
sudo apt update
# 安装python3(默认系统已经安装可以不执行)
sudo apt -y install python3
# 安装pip工具
sudo apt -y install python3-pip
# 升级pip工具
python3 -m pip install --upgrade pip
# 配置pip源(清华源)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果需要其他版本的python,Ubuntu系统可以使用PPA(个人软件包存档), PPA允许应用程序开发人员和Linux用户创建自己的软件仓库来分发软件,通过PPA可以轻松地获得更加新的软件版本或获得官方Ubuntu仓库以外的软件, 但需要注意这些软件的不稳定和安全性等。
下面我们测试在鲁班猫ubuntu20.04系统上使用 deadsnakes团队 维护的PPA, 添加该PPA后安装最新版本的Python及附加模块。
# 添加PPA,需要回车确认
sudo add-apt-repository ppa:deadsnakes/ppa
# 更新更新下apt缓存
sudo apt update
回车后确认添加,会更新下apt缓存,在输出信息中我们可以看到支持的列表:
Supported Ubuntu and Python Versions
====================================
- Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.13
- Ubuntu 22.04 (jammy) Python3.7 - Python3.9, Python3.11 - Python3.13
- Ubuntu 24.04 (noble) Python3.7 - Python3.11, Python3.13
- Note: Python2.7 (focal, jammy), Python 3.8 (focal), Python 3.10 (jammy), Python3.12 (noble)
are not provided by deadsnakes as upstream ubuntu provides those packages.
Why some packages aren't built:
- Note: for focal, older python versions require libssl<1.1 so they are not currently built
- Note: for jammy and noble, older python versions requre libssl<3 so they are not currently built
- If you need these, reach out to asottile to set up a private ppa
以上信息也可以到 deadsnakes 查看。
然后测试安装指定版本python:
# 安装python3.13
sudo apt install python3.13
# 检测版本
python3.13 --version
Python 3.13.0b2
# 安装其他附加模块(可选)
sudo apt install python3.13-full
# 或者单独安装python相关包(可选)
sudo apt install python3.13-dev python3.13-venv
最后,python安装还可以去官网下载 python源码包 ,然后自行编译安装。
2.3. python和pip的默认版本切换¶
2.3.1. 手动创建链接¶
可以注意到上面命令中python3、pip3都带了版本号,主要是由于python的历史原因, 这样使用能更好地与python2区分开来,而python2目前已经停止维护了,我们不建议大家继续使用。 使用我们提供的镜像默认是安装了python2和python3,可以设置当前系统默认的使用版本。
通过以下命令可以设置python、pip命令默认使用python3(可选):
#设置软链接,python默认使用python3
sudo ln -sf /usr/bin/python3 /usr/bin/python
#设置软链接,pip默认使用pip3
sudo ln -sf /usr/bin/pip3 /usr/bin/pip
设置后即可直接使用python或pip命令,检查当前系统python版本(可选):
#查看python路径
cat@lubancat:~$ which python
/usr/bin/python
# 查看python版本
cat@lubancat:~$ python --version
Python 3.8.10
# 查看pip版本
cat@lubancat:~$ pip --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
为了更明确地区分版本,本书后面依然直接使用python3或pip3命令进行说明。
2.3.2. 使用update-alternatives¶
update-alternatives是专门维护系统命令链接符的工具, 通过update-alternatives命令修改连接指向不同的实际程序或者动态库,实现多版本共存,动态切换的效果。
添加python方案链接,以前面安装了python3.13和python3.8的鲁班猫ubuntu20.04系统为例:
# 创建一个python方案链接,添加python3.13和python3.8,最后一个数字是优先级,数值越大,优先级越高
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.13 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
查看可选python版本,输入对应可选数字设置默认的python版本,这里测试设置python3.13为默认版本:
# 查看当前的python版本
cat@lubancat:~$ python --version
Python 3.8.10
# 然后列出系统上已安装的所有Python配置可选版本,这里重新设置python3.13为默认版本:
cat@lubancat:~$ sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.8 2 auto mode
1 /usr/bin/python3.13 1 manual mode
2 /usr/bin/python3.8 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/python3.13 to provide /usr/bin/python (python) in manual mode
# 查看重新设置后的python
cat@lubancat:~$ sudo update-alternatives --query python
Name: python
Link: /usr/bin/python
Status: manual
Best: /usr/bin/python3.8
Value: /usr/bin/python3.13
Alternative: /usr/bin/python3.13
Priority: 1
Alternative: /usr/bin/python3.8
Priority: 2
# 重新设置python版本后,查看版本
cat@lubancat:~$ python --version
Python 3.13.0b2
如果不需要update-alternatives管理python,删除请使用命令:
# 删除单个python链接
sudo update-alternatives --remove python /usr/bin/python3.13
# 删除所有python方案链接
sudo update-alternatives --remove-all python
2.4. 软件库安装方法¶
2.4.1. pip下载加速¶
在后面使用Python时,可能会需要使用pip工具下载安装依赖软件包,而官方下载站 pypi 在国内的访问较慢, 参考如下网页说明设置镜像网站: Pypi 镜像使用帮助 。
例如,使用pip安装软件包adafruit-circuitpython-ssd1306:
# 使用apt安装python的adafruit-circuitpython-ssd1306包
sudo pip3 install adafruit-circuitpython-ssd1306
# 使用pip list查看安装的包
pip3 list | grep adafruit-circuitpython-ssd1306
# 使用pip uninstall 卸载包
sudo pip3 uninstall adafruit-circuitpython-ssd1306
2.4.2. 用apt代替pip安装软件包¶
使用pip工具安装软件包时,通常是在本机中进行编译的,部分鲁班猫板卡的性能不高导致编译时间非常长, 还可能因为缺少某些库文件而安装失败。
所以在使用性能不高的板卡安装依赖包时,我们建议先直接搜索一下是否能使用apt工具安装, 它会从软件库中下载预先编译好的软件包,安装时间基本只取决于网络速度。 需要安装更新版本或者apt找不到的包时才使用pip安装。
例如,python常用的numpy数据科学库,如下使用如下apt命令安装,很快就完成了:
# 使用apt安装python的numpy包
sudo apt -y install python3-numpy
至于其它具体软件包在apt工具中的名字,可以在网络中搜索 “apt 安装XXX(如numpy)” 之类的内容, 如果你使用的是debian系统,在debian的软件列表库中查找关键字如 “numpy” :查找debian官方软件包 。
2.4.3. 用setuptools工具安装软件包¶
在有些情况下,我们用户需要使用到的一些Python库包。由于一些原因, 我们只获取到了这些库包的源码。那么我们用pip工具或者apt工具就没有办法去安装了。
这时我们可以使用python的setuptools工具,来通过库包源码进行Python库包的安装。
setuptools工具安装方法如下:
# 在终端中输入如下命令:
sudo apt -y install python3-setuptools
下面我们来使用一下setuptools工具。
以Python下的jieba(结巴)库为例,该库可以用于中文分词,是Github一个非常热门的开源Python项目。
其Github仓库为: jieba
我们可以从其仓库拉取源码或者下载其Releases压缩包并安装。
源码目录如下:

进入源码目录,使用setuptools工具通过源码安装库:
#拉取源码
git clone https://github.com/fxsjy/jieba.git
# 进入jieba/目录,在终端中输入如下命令:
sudo python3 setup.py install
等待软件包安装完成即可。
输入下面命令,可以看到,jieba库已经可以正常使用了,分词效果如下:
#登录系统终端,输入python3或者ipython,进入python交互模式,然后使用命令:
import jieba
set_list = jieba.cut("欢迎来到野火Python实践教程", cut_all=False)
print("Default Mode:" + "/".join(set_list))

2.4.4. UV¶
UV 是一个用Rust编写的极速Python包和项目管理工具。
鲁班猫板卡上安装UV(测试系统为ubuntu24.04),测试使用独立安装程序下载和安装:
# 安装UV
cat@lubancat:~$ curl -LsSf https://astral.sh/uv/install.sh | sh
downloading uv 0.8.10 aarch64-unknown-linux-gnu
no checksums to verify
installing to /home/cat/.local/bin
uv
uvx
everything's installed!
To add $HOME/.local/bin to your PATH, either restart your shell or run:
source $HOME/.local/bin/env (sh, bash, zsh)
source $HOME/.local/bin/env.fish (fish)
# uv help查看命令使用
uv help
# 升级UV
uv self update
之后重新打开一个终端,或者执行上面提示的命令:source $HOME/.local/bin/env (sh, bash, zsh)。
1、安装和管理Python
# 安装指定的python版本
cat@lubancat:~$ uv python install 3.11
Installed Python 3.11.13 in 56.49s
+ cpython-3.11.13-linux-aarch64-gnu (python3.11)
# 查看安装的python版本,python3.12是系统默认安装
cat@lubancat:~$ uv python list --only-installed
cpython-3.12.3-linux-aarch64-gnu /usr/bin/python3.12
cpython-3.12.3-linux-aarch64-gnu /usr/bin/python3 -> python3.12
cpython-3.11.13-linux-aarch64-gnu .local/bin/python3.11 -> .local/share/uv/python/cpython-3.11.13-linux-aarch64-gnu/bin/python3.11
cpython-3.11.13-linux-aarch64-gnu .local/share/uv/python/cpython-3.11.13-linux-aarch64-gnu/bin/python3.11
# 执行程序指定python版本
2、虚拟环境
# 创建一个名称为testvenv虚拟环境,指定python版本为python3.11
cat@lubancat:~$ uv venv --python python3.11 testvenv
Using CPython 3.11.13
Creating virtual environment at: testvenv
Activate with: source testvenv/bin/activate
# 手动激活环境testvenv
cat@lubancat:~$ source testvenv/bin/activate
(testvenv) cat@lubancat:~$
# 测试安装jieba库
(testvenv) cat@lubancat:~$ uv pip install jieba
Using Python 3.11.13 environment at: testvenv
Resolved 1 package in 33.06s
Built jieba==0.42.1
Prepared 1 package in 4.96s
Installed 1 package in 4ms
+ jieba==0.42.1
3、工程依赖管理
UV支持完整的Python项目结构和现代依赖管理流程,天然支持pyproject.toml,可完全替代 pip、virtualenv、requirements.txt、pip-tools、poetry等工具组合。
# 创建一个名称为test_project的空工程,会在当前目录下创建test_project文件,并添加pyproject.toml等等文件
cat@lubancat:~$ uv init test_project
Initialized project `test-project` at `/home/cat/test_project`
cat@lubancat:~$ tree test_project/
test_project/
├── main.py
├── pyproject.toml
└── README.md
1 directory, 3 files
# 添加软件httpx,会自动在该目录中创建.venv虚拟环境用于包管理。
cat@lubancat:~$ cd test_project/
cat@lubancat:~/test_project$ uv add httpx
Using CPython 3.11.13
Creating virtual environment at: .venv
Resolved 9 packages in 1.32s
Prepared 8 packages in 475ms
Installed 8 packages in 13ms
+ anyio==4.10.0
+ certifi==2025.8.3
+ h11==0.16.0
+ httpcore==1.0.9
+ httpx==0.28.1
+ idna==3.10
+ sniffio==1.3.1
+ typing-extensions==4.14.1
# 运行程序
cat@lubancat:~/test_project$ uv run main.py
Hello from test-project!
UV还可以直接运行脚本工具等等,相关的更多说明请参考:https://docs.astral.sh/uv 。