新 Fedora 27 中 /usr/bin/python3“_Py_CoerceLegacyLocale”中的符号查找错误

dev*_*v85 2 linux fedora python-3.x

感谢您的耐心等待,这个问题在互联网上的任何地方都没有得到解答,我也找不到任何解决方法的线索。问题是:

[jv@xp ~]$ /usr/bin/python3
/usr/bin/python3: symbol lookup error: /usr/bin/python3: undefined symbol: _Py_CoerceLegacyLocale
Run Code Online (Sandbox Code Playgroud)

在这发生之前,我正在修复 anaconda3 python 环境的问题,因此那里可能存在连接。

所有打包系统(yum、dnf)都依赖于新的 Fedora 27 系统 python3,所以如果我无法修复它,最好重新安装整个系统。(这可能意味着面对失败,低头我会回到薄荷:-/)

这位先生正在与同样的问题作斗争:

https://forums.fedoraforum.org/showthread.php?316109-f26-DNF-error-undefined-symbol-_Py_CoerceLegacyLocale

谢谢你的帮助。任何线索和建议将不胜感激。

小智 5

通过 conda 安装 python3 后,我遇到了同样的问题。我为解决这个问题所做的是:

1/ 使用以下命令重新安装 python3、python3-libs 和 system-python:

python2 /usr/bin/yum reinstall python3-libs

(注意你仍然可以用python2运行dnf和yum,假设只有python3坏了)

2/删除以下文件:

  • /usr/lib/libpython3.so
  • /usr/lib/libpython3.6m.so
  • /usr/lib/libpython3.6m.so.1.0

该命令rpm -qf libpython3.6m.so表示这些文件不属于任何包。它们肯定是通过 conda 安装的。问题是 python3 可执行文件加载了这些共享库,而不是好的。