配置Snappy返回错误码10,求Ubuntu20.04环境排查方案
解决Snappy配置错误码10:找不到匹配的jpy二进制wheel包问题
你遇到的核心问题是Snappy无法自动找到适配Python 3.8 x86_64架构的预编译jpy wheel包——哪怕你已经下载了jpy源码,大概率是因为构建出的wheel文件命名不符合Snappy的搜索规则,或是构建过程依赖缺失导致失败。下面是一步步的解决方法:
1. 清理残留的无效文件
先进入Snappy的配置目录,删掉之前可能错误下载或构建的jpy相关文件,避免干扰后续操作:
cd /home/sergio/.snap/snap-python/snappy rm -rf jpy-* dist
2. 安装构建jpy所需的依赖
Ubuntu 20.04下构建jpy需要Python开发包、Java开发环境和编译工具,先确保这些依赖都已安装:
sudo apt update && sudo apt install python3.8-dev default-jdk gcc g++
3. 正确构建适配Python 3.8的jpy wheel包
直接用官方源码构建,确保生成的wheel完全匹配Snappy的搜索模式jpy-{version}-cp38-{abi_tag}-linux_x86_64.whl:
# 克隆jpy源码(如果已经下载过可跳过此步,直接进入对应目录) git clone https://github.com/bcdev/jpy.git cd jpy # 必须指定/usr/bin/python3.8执行构建,避免系统默认Python版本混淆 /usr/bin/python3.8 setup.py bdist_wheel # 将生成的wheel文件复制到Snappy配置目录 cp dist/jpy-*-cp38-*-linux_x86_64.whl /home/sergio/.snap/snap-python/snappy/
4. 重新运行Snappy配置命令
回到~/snap/bin目录,再次执行配置命令:
./snappy-conf /usr/bin/python3.8
额外说明
- 关于架构警告:你提到的Python x86_64和JVM amd64的警告确实可以忽略,Linux下这两个架构标识完全兼容,不会影响功能。
- 手动指定wheel路径(备选方案):如果构建出的wheel命名没问题但Snappy仍找不到,可在配置时直接指定wheel文件路径:
替换命令中的./snappy-conf /usr/bin/python3.8 --jpy_wheel /home/sergio/.snap/snap-python/snappy/jpy-<具体版本号>-cp38-<abi_tag>-linux_x86_64.whl<具体版本号>和<abi_tag>为你构建出的wheel实际文件名对应的内容即可。
内容的提问来源于stack exchange,提问作者Sergio García
相关产品推荐
相关产品推荐

