libpython2.7.so.1.0:无法打开共享对象文件:没有此类文件或目录

libpython2.7.so.1.0:无法打开共享对象文件:没有此类文件或目录,python,shared-libraries,Python,Shared Libraries,我试图从终端运行python脚本,但收到下一条错误消息: ImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory 如果我运行print sys.version,我会得到: >>> import sys >>> print sys.version 2.7.3 (default, Feb 26 2013, 16:27:39) [GCC

我试图从终端运行python脚本,但收到下一条错误消息:

ImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
如果我运行print sys.version,我会得到:

>>> import sys
>>> print sys.version
2.7.3 (default, Feb 26 2013, 16:27:39)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
如果我运行ldd/usr/local/bin/python

>> ldd /usr/local/bin/python
        linux-vdso.so.1 =>  (0x00007fff219ff000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003300c00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003300800000)
        libutil.so.1 => /lib64/libutil.so.1 (0x0000003310e00000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003300000000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003300400000)
        /lib64/ld-linux-x86-64.so.2 (0x00000032ffc00000)
我不明白我有哪条蟒蛇?为什么从终端运行此python脚本会失败? 我试过跑步

export LD_LIBRARY_PATH=/usr/local/lib/python2.7/
没有运气

顺便说一句,我已经使用python插件在eclipse中调试了这个脚本,当我查看调试配置时,我看到PYTHONPATH设置为:

/..../eclipse/plugins/org.python.pydev_3.1.0.201312121632/pysrc/pydev_sitecustomize:/..../workspace/style_checker/src:/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg:/usr/local/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg:/usr/local/lib/python2.7:/usr/local/lib/python2.7/plat-linux2:/usr/local/lib/python2.7/lib-tk:/usr/local/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/site-packages

所以eclipse设法找到了这个python2.7libs。。。那么,在没有eclipse的情况下,如何从命令行执行呢?我做错了什么?使用CentOS6。

也许您可以在以下位置尝试答案。
该问题的作者还表示,LD_LIBRARY_PATH方法对他不起作用,但将库路径添加到
/etc/LD.so.conf
并运行
ldconfig
有效。

尝试查找文件
libpython2.7.so.1.0

找到libpython2.7.so.1.0

在我的例子中,它显示出:

/opt/rh/python27/root/usr/lib64/libpython2.7.so.1.0

然后将行
/opt/rh/python27/root/usr/lib64
粘贴到文件
/etc/ld.so.conf

然后运行
ldconfig

它解决了我的问题。祝你好运

出于某种原因,这两种方法对我非常有效:

apt get安装libpython2.7
sudo apt get安装libatlas3 base

我找到了它们,这不是我感兴趣的主题,但我的理解是针对Linux机器,尤其是编译python二进制文件的机器

例如,根据链接的示例,下面是我如何确保除了其他库之外还包括
libpython2.7.so.1.0

./configure --enable-shared \
        --prefix=/directory/for/Python-2.7.15 \
        LDFLAGS="-Wl,--rpath=/usr/local/lib -Wl,--rpath=/directory/for/Python-2.7.15"
注意,我还通过
--prefix
选项将python安装到我选择的固定目录中。这对您来说可能不是必需的,但我这样做是为了为python安装可能位于任何位置的一般情况提供解决方案


使用上述解决方案,我永远不必导出
LD\u LIBRARY\u PATH
或乱搞
ldconfig

我通过使用“export LD\u LIBRARY\u PATH=“${WORK\u PATH}/venv/lib”解决了这个问题。

添加到正确的答案中:

关于如何执行以下操作的多个问题: 然后将行/opt/rh/python27/root/usr/lib64粘贴到文件/etc/ld.so.conf


正确的方法是在/etc/ld.so.conf.d/中添加一个新文件,并在该文件中添加上面的行。

在64位Linux上执行32位gdb二进制文件时,我遇到了类似的问题:

arm-eabi-gdb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

我通过安装libpython2.7:i386解决了这个问题(注意:i386后缀)

你试过
export-LD\u-LIBRARY\u-PATH=/usr/local/lib/python2.7/:$LD\u-LIBRARY\u-PATH
吗?在我的例子中,我试过
export-LD\u-LIBRARY\u-PATH=/home/minh.lengoc/.local/lib:$LD\u-LIBRARY\u-PATH
好的,如何包括它?只是把路径粘贴到文本文件中?我试过它不起作用。还有其他方法吗?@krozaine:粘贴
/etc/LD.so.conf
文件,然后运行
ldconfig
命令?@krozaine:你能粘贴命令
的输出来定位libpython2.7.so.1.0
和文件的内容
/etc/ld.so.conf
?我很好奇为什么python2.7rpm安装没有处理这个问题?这看起来像是一个打包疏忽?--你可以使用
libpython2在哪里。7.so.1.0
来定位文件。:)只需安装libpython2.7就可以了。请使用*Ubuntu 20.04 x86-64