我正在尝试从 openSUSE 42.2 上的源代码安装新的 Python(3.6,几周前发布)。一切
./configure --prefix /home/paul/2017 --enable-optimizations
make
make install
似乎工作得很好,但是当我调用闪亮的新解释器时,我收到了这个错误:
Python 3.6.0 (default, Jan 9 2017, 22:01:27)
[GCC 4.8.5] on linux
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/home/paul/.pythonrc", line 7, in <module>
import readline
ModuleNotFoundError: No module named 'readline'
现在,模块就在那里,它安装在 $PREFIX/lib64/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so 下。只有解释器没有看那里(它完全忽略了 lib64,我用 -vv 进行了检查)。
更新:需要明确的是,这不仅会影响 readline,还会影响 lib64 下的所有内容,尤其是 lib-dynload 下的模块。
这似乎是一个已知问题,请参阅Python bugtracker。这是一个相当长的交流结束
是否就需要在这里做什么达成一致?我希望在它 10 岁生日之前看到它进入 3.5 :)
这让我有点困惑。这应该解决吗?我不记得以前遇到过这个问题,所以我想知道它是否是 3.6 回归。
显然,任何修复都会受到欢迎。
更新:目前我可以通过将 lib64 下的所有内容符号链接到 lib. 显然,这不是一个理想的解决方案;至少它首先破坏了引入 lib64(能够并排拥有 32 位和 64 位版本)的目的。我更喜欢配置文件中的某些内容。