导入错误未定义符号:_Z7qpgen2_PdS_PiS0_S_S_S_S_S_S0_S0_S0_S0_S0_S0_S_S0_

问题描述 投票:0回答:2

我正在 WSL 上运行此存储库:https://github.com/TUMFTM/global_racetrajectory_optimization(或者我在多台不同的机器上尝试过它,例如多台 Linux 机器以及 NVIDIA Jetson Orin Nano devkit)。

但不知何故,当我尝试运行主脚本时,我收到如下导入错误:

Traceback (most recent call last):
  File "main_globaltraj.py", line 1, in <module>
    import opt_mintime_traj
  File "/home/user/Raceline-Optimization/opt_mintime_traj/__init__.py", line 1, in <module>
    import opt_mintime_traj.src
  File "/home/user/Raceline-Optimization/opt_mintime_traj/src/__init__.py", line 1, in <module>
    import opt_mintime_traj.src.opt_mintime
  File "/home/user/Raceline-Optimization/opt_mintime_traj/src/opt_mintime.py", line 7, in <module>
    import trajectory_planning_helpers as tph
  File "/home/user/.local/lib/python3.7/site-packages/trajectory_planning_helpers/__init__.py", line 23, in <module>
    import trajectory_planning_helpers.opt_min_curv
  File "/home/user/.local/lib/python3.7/site-packages/trajectory_planning_helpers/opt_min_curv.py", line 3, in <module>
    import quadprog
ImportError: /home/user/.local/lib/python3.7/site-packages/quadprog.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _Z7qpgen2_PdS_PiS0_S_S_S_S_S_S0_S0_S0_S0_S0_S0_S_S0_

我按照要求进行了所有步骤,我所需的包、运行代码的环境与README和requirements.txt中描述的相同。我尝试过不同版本的所需软件包(例如最新的软件包、以前的软件包等),但这也没有解决问题。我尝试使用 Docker、Conda 和 python 的 venv 来隔离我的环境。显然,存在兼容性问题,我无法自己解决。如果有人能帮助我,我将非常感激。谢谢!

python importerror quadprog
2个回答
1
投票

All the packages and environment  I was able to run the code on. 因此,我能够通过以这种随机方式设置我的环境来解决该问题(请参阅上面的超链接中的屏幕截图)。不知何故,这种组合效果很好。我还意识到,quadprog 存储库在其 github 页面上实际上并没有 0.1.7,尽管我能够使用 pip 安装预构建的版本。所以我下载了带有特定标签0.1.8(最旧)的quadprog,并从源代码安装了它;神奇的是,它的效果与我之前的尝试不同。但它一直给我导入错误,所以我pip安装了最新的quadprog。我还手动更改了requirements.txt以解决所有这些更改(例如,将quadprog==0.1.7编辑为quadprog>=0.1.7等等)。


0
投票

使用

pip install --upgrade quadprog
确保您获得最新版本(当前 v1.11.0 应该可以使用)。

请。请注意,在站点包中,trajectory_planning_helpers-0.79.dist-info 中元数据中的quadprog 版本要求也应该更改。

© www.soinside.com 2019 - 2024. All rights reserved.