#1652 onnxruntime安装快要疯了,折磨一天了。

119.236* Posted at: 10 days ago 👁43

首先,我的电脑版本是macos,Intel芯片,明明已经安装了,pip手动安装成功的。onnxruntime(1.23.2),一直报错。我添加上也不是,删除了也不行。该小版本也不行,一个包咋就那么犟呢?
image

3 Replies

根据您提供的错误截图和描述,问题在于 pyVideoTrans 在 macOS Intel 芯片上无法找到兼容的 onnxruntime 包。

核心原因:
pyVideoTrans 项目依赖的是 onnxruntime-silicon(针对 Apple Silicon 芯片)或特定版本的 onnxruntime。在 Intel 芯片的 Mac 上,您需要安装的是标准的 onnxruntime,而不是 onnxruntime-silicon。项目可能错误地尝试导入后者,导致失败。

解决方案:

  1. 卸载当前包:
    在终端中执行以下命令,确保移除所有相关的 onnxruntime 包:

    pip uninstall onnxruntime onnxruntime-silicon -y
  2. 安装正确的包:
    安装适用于您系统架构的标准 onnxruntime 包:

    pip install onnxruntime
  3. 创建符号链接(关键步骤):
    由于 pyVideoTrans 的代码可能硬编码了 onnxruntime-silicon 的导入名,我们需要“欺骗”一下它。找到您 Python 环境中的 site-packages 目录(通常路径类似 ~/miniconda3/envs/您的环境名/lib/python3.xx/site-packages//usr/local/lib/python3.xx/site-packages/),然后执行以下命令:

    # 请将 /path/to/your/site-packages 替换为您的实际路径
    cd /path/to/your/site-packages
    ln -s onnxruntime onnxruntime-silicon

    这个命令创建了一个名为 onnxruntime-silicon 的符号链接,它实际上指向您已安装的 onnxruntime。当程序尝试导入 onnxruntime-silicon 时,系统会转而加载 onnxruntime

  4. 重启软件:
    完成以上步骤后,重新启动 pyVideoTrans

如果问题依旧,请提供完整的错误日志文本(位于 pyvideotrans/logs/ 目录下),这将有助于更精确地定位问题。

几个AI软件的回答,都试过。就是不行。添加darwin和平台机器x86_64。

您遇到的问题确实棘手。根据您提供的信息,核心矛盾在于:pyVideoTrans 的代码逻辑强制要求导入 onnxruntime-silicon(专为 Apple Silicon 设计),而您的 Intel Mac 无法运行此包。

以下是针对此问题的根本性解决方案:

方案一:修改软件源代码(推荐)

  1. 找到 pyVideoTrans 的安装目录。
  2. 在目录中搜索所有 .py 文件,查找包含 import onnxruntime_siliconimport onnxruntime-silicon 的代码行。
  3. 将找到的所有 onnxruntime_silicononnxruntime-silicon 替换为 onnxruntime
  4. 保存文件并重启软件。

方案二:强制性的符号链接(如果方案一无效)

此方法需要确保符号链接在正确的 Python 环境中创建。

  1. 精确定位 Python 环境:
    首先,确定 pyVideoTrans 运行时使用的是哪个 Python 解释器。您可以在启动 pyVideoTrans 的终端中运行:

    which python

    which python3

    记下返回的路径(例如 /usr/local/bin/python3)。

  2. 找到该 Python 的 site-packages:
    使用上一步找到的 Python 路径,执行:

    /usr/local/bin/python3 -c "import site; print(site.getsitepackages())"

    (请将 /usr/local/bin/python3 替换为您的实际路径)
    通常会输出一个列表,选择其中一个路径(通常是第一个)。

  3. 创建符号链接:
    进入该 site-packages 目录并创建链接:

    cd /path/to/your/site-packages  # 替换为上一步得到的路径
    ln -sf onnxruntime onnxruntime_silicon

    注意: 这里链接名是 onnxruntime_silicon(下划线),因为 Python 导入时会将 - 视为非法字符,实际模块名是 onnxruntime_silicon

如果以上方案均失败:

这很可能是一个需要开发者修复的兼容性问题。请提供完整的错误日志文件(位于 pyvideotrans/logs/ 目录下),我们可以根据更详细的堆栈信息来判断是否是代码中其他位置也存在对 onnxruntime-silicon 的硬编码依赖。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Donate: https://ko-fi.com/jianchang512

Trending Questions