在 conda 虚拟环境中找不到 librosa 的“GLIBCXX_3.4.30”(在尝试了很多解决方案之后)?

Cha*_*Adm 48 linux anaconda librosa

我正在尝试import librosa,但我遇到了这个错误:

/home/lakshya/anaconda3/envs/tff_env/lib/python3.9/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/lakshya/anaconda3/envs/tff_env/lib/python3.9/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-39-x86_64-linux-gnu.so)
Run Code Online (Sandbox Code Playgroud)

根据我浏览过的其他类似问题,我尝试以下方法来修复它:

  1. sudo apt-get install libstdc++6

    它的输出:libstdc++6 已经是最新版本(10.2.1-6)。

  2. sudo apt-get dist-upgrade

    其输出:0 个已升级、0 个新安装、0 个要删除、0 个未升级。

  3. strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

    它的输出:GLIBCXX版本高达GLIBCXX_3.4.28

  4. conda install libgcc在我的虚拟环境“tff_env”中

    它的输出:libgcc-7.2.0安装在tff_env中

  5. Pip 也在虚拟环境中安装了 libgcc 包。没用。

我能做些什么?

我的操作系统:Debian GNU/Linux 11(靶心)

小智 68

刚刚解决了类似的问题,看来您需要确保您拥有最新版本的 gcc。跑步:

conda install -c conda-forge gcc=12.1.0
Run Code Online (Sandbox Code Playgroud)

为我修正了错误。

  • 在我的例子中,适用于 arch linux x86 (带有 nvidia gpu) (2认同)

Nic*_*ico 28

在搜索 anaconda 软件包后,我发现只有软件包“libstdcxx”会实质上将新的“libstdc++.so.6”文件引入 conda 环境(而“gcc”、“gcc_linux-64”和“libgcc-ng”则不能)。因此,安装以下软件包可以为我解决这个问题。

conda install -c conda-forge libstdcxx-ng=12

PS:dfcorbin的答案conda install -c conda-forge gcc=12对我不起作用。


Kai*_*Kai 15

不幸的是,以上答案都不适合我。我最终做的是手动检查libstdc++.so.6文件。

首先,我检查了系统文件,它没有返回任何内容:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.30

然后,我查看了 conda 文件,它就在那里:

strings /path-to-your-conda/envs/your-env-name/lib/libstdc++.so.6 | grep GLIBCXX_3.4.30

这表明简单的解决方案是将 conda 文件的路径附加到 LD_LIBRARY_PATH。

export LD_LIBRARY_PATH=/path-to-your-conda/envs/your-env-name/lib:$LD_LIBRARY_PATH

  • 我想安装一个不同的程序,但遇到了同样的问题,除了这个之外,没有任何解决方案对我有用。非常感谢你的提交! (2认同)

Anw*_*vic 12

如果接受的答案不起作用,请尝试此操作

我的条件与原始海报相同,并且接受的答案并没有像conda以前那样有效。scipy我尝试了从1.9.3到 的降版本1.9.1,它确实有效。

您可以使用以下命令来执行此操作:

conda install -c anaconda scipy==1.9.1 
Run Code Online (Sandbox Code Playgroud)


小智 8

尝试运行 mujoco 或 mujoco-py 时解决此问题的一种解决方案如下

OSError:/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/../lib/libstdc++.so.6:启动 ipython 时找不到版本“GLIBCXX_3.4.20”。由于某种原因,该库不在 anaconda 环境 libstdc++.so.6 中。它位于 ubuntu 基础库中。因此,将此库的 anaconda 版本链接回操作系统版本:

cd /home/ubuntu/anaconda3/envs/tensorflow_p36/lib
mv libstdc++.so.6 libstdc++.so.6.old
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)

学分:https://bcourses.berkeley.edu/courses/1478831/pages/glibcxx-missing