为了测试新版本的 Python 应用程序,我需要在我的 OpenSuSE 15.4 机器上安装最新稳定版本的 Python /* 默认情况下,Python 3.6 */。所以我下载了 Python 3.10.11 并构建了它。make install
确实有效,但由于缺少msvcrt
模块,下一个命令没有:
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤ ./python3 -m pip install --upgrade pip
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
File "/home/jacek/bin/tmp/Python-3.10.11/dist/lib/python3.10/subprocess.py", line 69, in <module>
import msvcrt
ModuleNotFoundError: No module named 'msvcrt'
缺少的模块真的是 Microsoft Visual C++ 运行时的接口吗?如果是,为什么在 Linux 机器上安装 Python 时需要它?Python 网站上显然只有一种源代码压缩包(尽管有 2 种不同的存档格式)。python home / dir 变量根本没有设置,顺便说一句:
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤ echo $PYTHONHOME 1 ↵
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤ echo $PYTHONPATH
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤
不过,手动设置 python 主目录(在我的例子中:)/home/jacek/bin/tmp/Python-3.10.11/dist
没有帮助。
好的,我在 StackOverflow 上发帖后的一个(相当旧的)中找到了解决方案:
Python 3.7 安装不适用于 openSUSE Leap 42.3
内容如下:
但是请不要问我为什么配置过程不创建符号链接。