Anaconda ImportError: /usr/lib64/libstdc++.so.6: версия `GLIBCXX_3.4.21 'не найдена - PullRequest
0 голосов
/ 17 октября 2019

Я получаю следующую ошибку импорта при попытке запустить скрипт python в среде conda

(squad) azada@scholar-fe00:~/Desktop/Toy-Problem-Team-2 $ python3 train.py 
Traceback (most recent call last):
  File "train.py", line 21, in <module>
    from tensorboardX import SummaryWriter
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/__init__.py", line 5, in <module>
    from .torchvis import TorchVis
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/torchvis.py", line 11, in <module>
    from .writer import SummaryWriter
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/writer.py", line 15, in <module>
    from .event_file_writer import EventFileWriter
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/event_file_writer.py", line 28, in <module>
    from .proto import event_pb2
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/proto/event_pb2.py", line 7, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/google/protobuf/descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/google/protobuf/pyext/_message.cpython-36m-x86_64-linux-gnu.so)

Запись команды strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX приводит к следующему выводу

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

Как видите, требуемой версии libgcc нет. Но я не могу понять, почему python ищет GLIBCXX в каталоге usr?

Выполнение этой же команды на libstdc++.so.6 в моей среде anaconda показывает, что в файле присутствует необходимая версия.

Я использую стипендию кластера моего университета, поэтому у меня нет прав администратора.

Есть ли способ заставить Python использовать ligstdc ++ моей среды conda вместо той, что в каталоге usr

1 Ответ

0 голосов
/ 17 октября 2019

решите это путем понижения до libgcc == 5.2.0

Сначала попытайтесь установить с помощью pip, но если вы получите ошибку: Не удалось загрузить и скомпилировать ядро ​​C igraph .. установите его conda

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...