ImportError libdynet.so: невозможно открыть общий объектный файл, такого файла или каталога нет - PullRequest
0 голосов
/ 24 января 2019

Сегодня я попытался запустить простую программу dynet (которую я запускал несколько месяцев назад без проблем) и получил следующую ошибку:

Traceback (most recent call last):
  File "/home/erelsgl/Dropbox/dicta/text-taggers/test_dynet.py", line 1, in <module>
    import dynet
  File "/usr/local/lib/python3.5/dist-packages/dyNET-0.0.0-py3.5-linux-x86_64.egg/dynet.py", line 17, in <module>
    from _dynet import *
ImportError: libdynet.so: cannot open shared object file: No such file or directory

Я получаю ту же ошибку даже с минимальной программой, которая содержит только «import dynet».

Я попытался переустановить dynet несколькими способами:

$ sudo pip3 install dynet
Requirement already satisfied: dynet in /usr/local/lib/python3.5/dist-packages/dyNET-0.0.0-py3.5-linux-x86_64.egg (0.0.0)
Requirement already satisfied: cython in /usr/local/lib/python3.5/dist-packages (from dynet) (0.25.2)
Requirement already satisfied: numpy in /usr/local/lib/python3.5/dist-packages (from dynet) (1.12.1)

, а также:

$ sudo -H pip3 install git+https://github.com/clab/dynet#egg=dynet
Requirement already satisfied: dynet from git+https://github.com/clab/dynet#egg=dynet in /usr/local/lib/python3.5/dist-packages/dyNET-0.0.0-py3.5-linux-x86_64.egg (0.0.0)
Requirement already satisfied: cython in /usr/local/lib/python3.5/dist-packages (from dynet) (0.25.2)
Requirement already satisfied: numpy in /usr/local/lib/python3.5/dist-packages (from dynet) (1.12.1)

Но программа все равно не работает ... что я могу сделать?

РЕДАКТИРОВАТЬ: Вот версия Python в командной строке:

Python 3.5.2 (default, Nov 12 2018, 13:43:14) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.path)
['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/home/erelsgl/.local/lib/python3.5/site-packages', '/usr/local/lib/python3.5/dist-packages', '/home/erelsgl/git/PrefLib-Tools/preflibtools', '/usr/local/lib/python3.5/dist-packages/xgboost-0.6-py3.5.egg', '/usr/local/lib/python3.5/dist-packages/dyNET-0.0.0-py3.5-linux-x86_64.egg', '/usr/lib/python3/dist-packages']

ПРИМЕЧАНИЕ: недавно я установил conda, поэтому подумал, что это может быть причиной, но теперь я удалил его, и проблема сохраняется.

1 Ответ

0 голосов
/ 07 февраля 2019

Похоже, что файлы скомпилированных общих объектов отсутствуют в вашей dynet установке.Это может произойти из-за любой ошибки, связанной с установкой или удалением других программ.Лучше всего попытаться удалить и переустановить dynet и посмотреть, работает ли он.

Если это не сработает, попробуйте установить dynet в виртуальной среде.

...