我完全困惑了。\非 Fedora34 和 python 3.9.7 dnf 可以正常工作。
\n为此,我已更改为 /usr/bin 目录。
\n如果我将符号链接更改为 3.10,如下所示,dnf 就会中断:
\n\xe2\x9e\x9c bin ln -s -f python3.10 python3\n\xe2\x9e\x9c bin dnf\nTraceback (most recent call last):\n File "/usr/bin/dnf", line 57, in <module>\n from dnf.cli import main\nModuleNotFoundError: No module named 'dnf'\n
Run Code Online (Sandbox Code Playgroud)\n然后我把它改回3.9,dnf就可以工作了。
\n\xe2\x9e\x9c bin ln -s -f python3.9 python3 \n\xe2\x9e\x9c bin dnf\nusage: dnf [options] COMMAND\netc...\n
Run Code Online (Sandbox Code Playgroud)\n有人可以向我解释一下这个问题以及如何更新系统以便让 python3 命令指向 3.10 而不破坏 dnf 吗?
\nVoj*_*fny 11
不要这样做:如果您想在项目或开发中使用不同版本的 Python,您需要使用版本化命令python3.x
或虚拟环境。
DNF 等系统工具依赖于确切的 Python ABI 版本。在 Fedora 34 上,您安装了 Python 3.9 版本的 Python DNF /usr/lib/python3.9/site-packages
,如果不使用较新的 Python 重新编译,它将无法与 Python 3.10 一起使用:
$ rpm -q --requires python3-dnf
/usr/bin/python3
...
python(abi) = 3.9
Run Code Online (Sandbox Code Playgroud)
如果您确实想要在系统范围内使用 Python 3.10,则可以升级到默认情况下附带 Python 3.10 的 Fedora 35。(Fedora 35 尚未发布,但它已经经过测试,所以应该足够稳定。)
归档时间: |
|
查看次数: |
1923 次 |
最近记录: |