You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu20.04下pip可装onnxruntime-gpu==1.22.0,但npx/conda安装失败求助

问题分析与解决办法

原因拆解

1. 直接pip install onnxruntime-gpu成功的原因

PyPI仓库中提供了适配Python 3.12 + Linux x86_64onnxruntime-gpu==1.22.0二进制包,pip默认从PyPI拉取,无需额外限制平台,因此能正常找到并安装。

2. npx install motia失败的原因

Motia的安装脚本在调用pip时添加了强制参数:--platform manylinux2014_x86_64 --only-binary=:all:。而onnxruntime-gpu==1.22.0的PyPI二进制包对应的是更高版本的manylinux标准(如manylinux_2_28_x86_64),并不兼容manylinux2014_x86_64,导致pip找不到匹配的包。此外,Python 3.12属于较新版本,1.22.0版本的onnxruntime-gpu未针对manylinux2014_x86_64做Python 3.12的适配打包。

3. conda install onnxruntime-gpu失败的原因

conda-forge源的包维护与PyPI独立,onnxruntime-gpu==1.22.0并未上传至conda-forge,或没有适配Python 3.12的conda包,因此无法找到。


解决办法

针对npx install motia失败的方案

方案1:放宽requirements.txt版本限制

修改requirements.txt中的onnxruntime-gpu条目,允许安装兼容manylinux2014_x86_64的版本:

pydantic>=2.6.1
httpx>=0.28.1
pydantic==2.9.0
uvloop==0.20.0
qdrant-client==1.11.2
tqdm>=4.67.1
onnxruntime-gpu>=1.22.0  # 替换原有的==1.22.0

再重新运行npx install motia

方案2:手动安装依赖后跳过Motia的自动安装

先在激活的conda虚拟环境中手动安装所有依赖:

pip install -r requirements.txt

之后克隆Motia仓库到本地,直接使用源码启动,绕过其自动安装Python依赖的流程。

方案3:调整Motia安装脚本的pip参数

找到Motia安装逻辑中调用pip的代码(可通过克隆仓库查看),移除--platform manylinux2014_x86_64参数,或替换为onnxruntime-gpu==1.22.0支持的平台标签(如manylinux_2_28_x86_64),再本地执行安装。


针对conda安装失败的方案

方案1:直接在conda环境中用pip安装

conda虚拟环境激活后,环境内的pip会将包安装到当前conda环境中,完全满足使用需求:

conda activate fast_embedding
pip install onnxruntime-gpu==1.22.0

方案2:添加微软官方conda源

尝试添加onnxruntime官方维护的conda源,再执行安装:

conda config --add channels https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-conda/pypi/simple/
conda install onnxruntime-gpu==1.22.0

注意:需确认该源是否提供适配Python 3.12与Ubuntu 20.04的包。

方案3:源码编译并打包conda包(进阶)

若必须使用conda包,可下载onnxruntime-gpu==1.22.0的源码,在本地编译GPU版本后,用conda-build工具打包到本地conda仓库,再进行安装。此步骤需配置CUDA编译环境,操作复杂度较高。


内容的提问来源于stack exchange,提问作者user824624

火山引擎 最新活动