1

我目前正在尝试运行一个使用 RDKit 并面临错误的 Python 程序。言归正传,完整的回溯是:

Traceback (most recent call last):
  File "./main.py", line 4, in <module>
    from train import Trainer
  File "/home/user1/repo1/train.py", line 12, in <module>
    from utils import make_batches
  File "/home/user1/repo1/utils.py", line 9, in <module>
    from rdkit import Chem, DataStructs
  File "/home/user1/anaconda3/envs/user1conda/lib/python3.7/site-packages/rdkit/Chem/__init__.py", line 18, in <module>
    from rdkit import DataStructs
  File "/home/user1/anaconda3/envs/user1conda/lib/python3.7/site-packages/rdkit/DataStructs/__init__.py", line 13, in <module>
    from rdkit.DataStructs import cDataStructs
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/user1/anaconda3/envs/user1/lib/python3.7/site-packages/rdkit/DataStructs/../../../../libRDKitDataStructs.so.1)

我已经查看了这个 Git Issue并尝试了那里的所有建议,但没有一个奏效。我还查看了以下 Stack Overflow 问题:uwsgi: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc .so.55/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8' not found [已关闭]但答案也无法解决我的问题。

有关更多信息:

  1. 操作系统:Ubuntu 16.04
  2. Python版本:3.7.5
  3. 的输出echo $LD_LIBRARY_PATH目前什么都没有(我试图将其设置为答案所建议的内容)。
  4. 我目前正在使用 Conda 环境,并且还从 Anaconda 下载了 RDKit。

有人知道潜在的问题可能是什么吗?我有点困惑,因为似乎没有任何工作,我不知道从哪里开始诊断问题。提前致谢。

4

2 回答 2

0

对于所有遇到类似问题的人,请使用以下命令更新您的 Anaconda/Miniconda:

conda deactivate

conda update conda

它对我有用,希望它可以帮助某人。

于 2020-11-15T11:11:09.927 回答
0

(这已经在 StackOverflow 上回答了数百次)

这意味着该libRDKitDataStructs.so.1库是由新版本的 GCC 构建的,而您的系统编译器是旧版本。该库取决于libstdc++.so新版本附带的版本,但它会从您的系统编译器中找到旧版本。

您需要确保运行时链接器知道如何找到新的libstdc++.so,请参阅https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_pathshttps://gcc.gnu.org/onlinedocs/ libstdc++/manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic

于 2020-01-21T12:19:55.470 回答