【问题标题】:Python3.7: error while loading shared libraries: libpython3.7m.so.1.0Python3.7:加载共享库时出错:libpython3.7m.so.1.0
【发布时间】:2020-02-27 03:46:51
【问题描述】:

我有两个版本 Python-2.7 和 Python-3.5,我可以分别使用 python(pip)python3(pip3) 命令访问它们。然后我安装了另一个版本的python (i.e 3.7.5)

我已经使用这些命令来安装它。

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar xvf Python-3.7.5.tgz
cd Python-3.7.5
./configure --enable-optimizations --enable-shared
make -j6
sudo make altinstall

一切都很成功,但唯一的问题是我无法使用命令 python3.7 访问 Python-3.7。

当我使用 python3.7 时,它返回了以下错误:

python3.7:加载共享库时出错:libpython3.7m.so.1.0: 无法打开共享对象文件:没有这样的文件或目录

谁能帮我解决这个问题?

信息:OS:Debian GNU/Linux 9.11 (stretch)

输入时输出:

user_83@debian-241:~$ whereis python     
python: /usr/bin/python3.5m-config 
/usr/bin/python3.5m 
/usr/bin/python2.7-config 
/usr/bin/python3.5 
/usr/bin/python2.7 
/usr/bin/python 
/usr/bin/python3.5-config 
/usr/lib/python3.5 
/usr/lib/python2.7 
/etc/python3.5 
/etc/python2.7 
/etc/python 
/usr/local/bin/python3.7m 
/usr/local/bin/python3.7 
/usr/local/bin/python3.7m-config 
/usr/local/lib/python3.5 
/usr/local/lib/python2.7 
/usr/local/lib/python3.7
/usr/include/python3.5m 
/usr/include/python3.5 
/usr/include/python2.7 
/usr/share/python 
/usr/share/man/man1/python.1.gz

更新:

locate libpython3.5m

/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/libpython3.5m-pic.a
/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/libpython3.5m.a
/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/libpython3.5m.so
/usr/lib/x86_64-linux-gnu/libpython3.5m.a
/usr/lib/x86_64-linux-gnu/libpython3.5m.so
/usr/lib/x86_64-linux-gnu/libpython3.5m.so.1
/usr/lib/x86_64-linux-gnu/libpython3.5m.so.1.0

locate libpython3.7m
/usr/local/lib/libpython3.7m.so
/usr/local/lib/libpython3.7m.so.1.0
/usr/local/lib/python3.7/config-3.7m-x86_64-linux-gnu/libpython3.7m.a


sudo ldconfig /usr/local/lib 

ldconfig: /usr/lib/libnvinfer.so.5 is not a symbolic link
ldconfig: /usr/lib/libnvonnxparser_runtime.so.0 is not a symbolic link
ldconfig: /usr/lib/libnvonnxparser.so.0 is not a symbolic link
ldconfig: /usr/lib/libnvparsers.so.5 is not a symbolic link
ldconfig: /usr/lib/libnvinfer_plugin.so.5 is not a symbolic link

【问题讨论】:

  • 你检查过 Debian 上的 apt 是否没有预编译 Python3.7 吗?在 Linux Mint 上,我使用 apt 从 Ubuntu 的非官方仓库安装预编译的 Python 3.7 - 也许它也适用于 Debian - launchpad.net/~deadsnakes/+archive/ubuntu/ppa
  • 使用findlocate 你可以尝试找到libpython3.7m.so.1.0 并将其路径与libpython3.5 的完整路径进行比较 - 也许你必须手动将其移动到正确的文件夹。
  • 我尝试使用 sudo apt install python2 更新 python,但它返回 python 3.5 作为最新版本。所以这就是我通过上述方法安装它的原因。
  • @furas 您能否提供有关如何执行此操作的命令。我是 linux 操作系统的新手。我真的不知道该怎么做。
  • 我不确定是否始终安装 locate。它使用所有文件名创建数据库 - sudo updatedb - 稍后您可以搜索 - locate libpython3.7m.so.1.0。因为它使用数据库,所以搜索速度非常快,但有时您必须使用updatedb 来更新此数据库中的数据。

标签: python python-3.x unix pip


【解决方案1】:

您需要将/usr/local/lib/ 添加到库搜索路径。在运行python3.7之前,可以在当前shell中调用如下:

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

或运行ldconfig 将路径添加到链接器缓存:

sudo ldconfig /usr/local/lib 

【讨论】:

  • 当我使用export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib时它工作了,但是在使用python3.7之前我每次都需要使用这个命令吗?
  • 当我使用sudo ldconfig /usr/local/lib 时,它返回了一些输出。我已经在上面的问题中发布了它。我认为说它不是符号链接或其他东西是错误的。
  • 在该输出中无需担心。
  • 那么它现在完成了吗?我的意思是即使重启后它也能一直工作吗?
  • 是的,如果您按照上述说明将更改永久化,它应该在重新启动后工作。如果您只在当前 shell 中使用 export,它只会影响当前 shell 会话。
【解决方案2】:

我刚刚安装了所需的库:

sudo apt-get install libpython3.7

【讨论】:

  • 获取 libpython3.7 但似乎没有从 deadsnakes 和默认值中获取 libpython3.7m。
【解决方案3】:

我正在使用 homebrew/linuxbrew 来管理我最新的 python3 版本。这样做export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/home/linuxbrew/.linuxbrew/Cellar/python@3.8/3.8.3/lib 对我有用(无需重新启动)。

【讨论】:

  • 谢谢,也想出了这个 - 因为 docker-compose 版本 1.25.5,它在 Ubuntu 18.04.4 环境中使用 WSL 中的 linuxbrew 并带有消息:/home/linuxbrew/.linuxbrew /Cellar/docker-compose/1.25.5_2/libexec/bin/python3.8:加载共享库时出错:libpython3.8.so.1.0:无法打开共享对象文件:没有这样的文件或目录
【解决方案4】:

pip3 install uwsgi 为我工作

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 2020-09-12
  • 2017-11-05
  • 2014-12-09
相关资源
最近更新 更多