ImportError libdynet.so:无法打开共享对象文件,没有这样的文件或目录

时间:2019-01-24 18:02:13

标签: python-3.x python-import dynet

今天,我尝试运行一个简单的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 :(得分:1)

您的dynet安装中似乎缺少已编译的共享库文件。这可能是由于与其他程序的安装或卸载有关的任何事故造成的。最好的选择是尝试卸载并重新安装dynet,然后查看其是否有效。

如果仍然无法解决,请尝试在虚拟环境中安装dynet