今天,我尝试运行一个简单的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,所以我认为这可能是原因,但是现在我将其删除,问题仍然存在。
答案 0 :(得分:1)
您的dynet
安装中似乎缺少已编译的共享库文件。这可能是由于与其他程序的安装或卸载有关的任何事故造成的。最好的选择是尝试卸载并重新安装dynet
,然后查看其是否有效。
如果仍然无法解决,请尝试在虚拟环境中安装dynet
。