Ubuntu虚拟机中Python SSL模块缺失致Buildozer构建失败求助
Buildozer构建Android包时SSL模块缺失问题
环境与错误详情
在Ubuntu 22.04.3虚拟机(Python 3.12环境)中运行buildozer android debug时,触发SSL模块不可用错误,具体输出:
running python3 -m venv venv [INFO]: Upgrade pip to latest version [DEBUG]: -> running bash -c source venv/bin/activate && pip install -U pip [DEBUG]: Ignoring "sys._home = value" override [DEBUG]: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. [DEBUG]: Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (23.2.1) [DEBUG]: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
已尝试但无效的操作
- 执行
sudo apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.6 libgdm-dev libdb4o-cil-dev libpcap-dev - 手动编译Python时执行
./configure、make、sudo make install - 手动安装OpenSSL后,编译Python时指定
./configure --with-openssl=/home/username/openssl
解决方案
1. 重置系统OpenSSL环境
卸载手动安装的OpenSSL,改用系统默认兼容版本:
sudo rm -rf /home/username/openssl sudo apt update && sudo apt install -y libssl-dev openssl --reinstall
2. 重新编译Python3.12并绑定系统SSL
先清理之前手动编译的Python3.12:
# 若保留编译目录,进入后执行 sudo make uninstall # 若找不到编译目录,直接删除相关文件 sudo rm -rf /usr/local/bin/python3.12 /usr/local/lib/python3.12
下载Python3.12源码并解压,进入源码目录执行:
./configure --with-openssl=/usr --enable-optimizations make -j$(nproc) sudo make altinstall
--with-openssl=/usr指定使用系统SSL,altinstall避免覆盖系统默认Python。
3. 配置Buildozer使用Python3.12
编辑项目根目录的buildozer.spec,修改Python版本配置:
python.version = 3.12
验证Python3.12可用性:
python3.12 --version
4. 清理缓存后重新构建
删除旧虚拟环境与Buildozer缓存:
rm -rf venv .buildozer
重新执行构建命令:
buildozer android debug
内容的提问来源于stack exchange,提问作者Adel
相关产品推荐
相关产品推荐

