树莓派升级Python3.10.3后使用pip安装python-telegram-bot时出现metadata生成错误:setuptools不可用
解决Python 3.10.3环境下pip安装包时setuptools缺失的问题
看起来你遇到的是手动编译安装Python后常见的依赖缺失问题——你的Python 3.10.3环境里没有安装setuptools,这才导致pip在处理tornado包的metadata时失败了。我给你几个靠谱的解决步骤:
第一步:确认当前Python环境指向
先确保你操作的是自己安装的Python 3.10.3,避免误操作系统自带的版本:
which python which pip
输出应该指向你编译安装的路径(比如/usr/local/bin/python或自定义的安装目录)。
第二步:安装/修复setuptools和pip
方法1:用Python内置的ensurepip工具(最简单)
直接运行这条命令,它会自动给当前Python环境安装或升级pip和setuptools:
python -m ensurepip --upgrade
方法2:通过系统包管理器补充依赖(适合树莓派)
如果ensurepip不管用,可以先给系统装基础的Python依赖,再关联到你的3.10环境:
sudo apt update && sudo apt install -y python3-setuptools python3-pip
之后再用命令升级到适配3.10的版本:
python -m pip install --upgrade pip setuptools
方法3:手动编译安装setuptools(兜底方案)
如果上面两种方法都失败,可以手动下载源码安装:
- 下载兼容Python 3.10的setuptools源码包(可以从Python官方PyPI仓库获取对应版本,比如68.x系列)
- 解压并进入目录:
tar -xzf setuptools-68.0.0.tar.gz cd setuptools-68.0.0
- 用你的Python 3.10安装:
python setup.py install
第三步:验证并重新安装目标包
完成上面的步骤后,先验证setuptools和pip是否正常:
python -m pip --version python -m easy_install --version
然后再尝试安装python-telegram-bot:
python -m pip install python-telegram-bot
额外提示(避免后续踩坑)
以后在树莓派上编译安装Python前,一定要先安装完整的编译依赖,这样能减少很多后续的包安装问题:
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

