首页 > 解决方案 > Tensorflow NotFoundError:libtensorflow_framework.so:无法打开共享文件或目录

问题描述

我在适用于 Linux 的 Ubuntu 16.04 版本的 Windows 子系统中使用带有 Python 2.7 的 Tensorflow 1.14.0(安装了 pip)。我正在运行另一个人编写的脚本,它给了我以下错误:

File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/load_library.py", line 61, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: libtensorflow_framework.so: cannot open shared object file: No such file or directory

我发现了这篇文章,其中用户自己找到了丢失的 libtensorflow_framework.so 文件,然后我导航到/usr/local/lib/python2.7/dist-packages/tensorflow找到 lib_tensorflow_framework.so.1 文件的位置。我尝试重命名文件以删除最后的 .1 并尝试重新运行脚本,但随后出现错误,提示找不到 .so.1 文件!如果我运行find . -name libtensorflow_framework.so没有结果。我在哪里可以找到这个文件?

标签: pythontensorflow

解决方案


不要重命名文件,将 libtensorflow_framework.so 中的符号链接添加到 libtensorflow_framework.so.1

cd /usr/local/lib/python2.7/dist-packages/tensorflow/

# If you renamed the file, rename it back
mv libtensorflow_framework.so libtensorflow_framework.so.1

# Create a symlink so both .so and .so.1 point to the same file
ln -s libtensorflow_framework.so.1 libtensorflow_framework.so

推荐阅读