为什么创建从 python 到 python 3 的符号链接不起作用?

为什么创建从 python 到 python 3 的符号链接不起作用?

我的目标是确保在我的 Mac 终端中python引用python3。到目前为止,我尝试了以下两种尝试

1. 在 .zshrc 中添加别名

alias python=python3

重新获取我的.zshrc文件后,我就可以输入python --version并获取 python3。

这对脚本不起作用,因为它们指定#!/usr/bin/env python并完全忽略了我的别名。

/usr/local/bin/python2. 添加从到 的符号链接/usr/bin/python3

这时事情就变得奇怪了。以下是一些命令的输出

python --version->python 2.7

which python->python /usr/local/bin/python

/usr/local/bin/python --version->python 2.7

ls -l /usr/local/bin/python->/usr/local/bin/python -> /usr/bin/python3

/usr/bin/python3 --version->python 3.8

这里出了什么问题?为什么符号链接显然是正确的,但使用它时仍然显示错误的 Python 版本?

我在旧苹果上发现了类似的问题但答案并没有真正解决符号链接的奇怪之处,也没有解决问题。

我真的很想了解为什么会发生这种情况,并找到解决方案或适当的方法来使我的主要 Python 版本成为 Python 3。

谢谢!

答案1

检查当前 Python 版本::
$ python --version输出Python 2.*Command 'python' not found

检查当前 python3 版本::
$ python3 --version输出Python 3.*

检查 python3 位于何处::
$ which python3输出/usr/bin/python3

在这里创建你的符号链接
$ sudo ln -sf /usr/bin/python3 /usr/bin/python
其中 /usr/bin/python 是新的可执行文件

退出终端 + 重新打开

现在检查你的python可执行文件是否真的在运行 python3

$ python --version: 输出Python 3.*

相关内容