为什么/ usr / local / bin / python3中的链接与“哪个python3”中的路径不同?

时间:2019-07-31 03:33:44

标签: bash macos python-3.6 python-3.7.4

我之前安装了python 3.6,今天安装了python 3.7.4。当我在命令中键入python3时,它将打开python 3.6,我想将其更改为python 3.7.4。

which python3显示/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

/usr/local/bin/中的链接为: python3 -> ../../../Library/Frameworks/Python.framework/Versions/3.7/bin/python3

pip3的情况也是如此。为什么? ?

如何将which python3更改为python 3.7.4?我不想使用alias

我使用MacOS 10.14.2

2 个答案:

答案 0 :(得分:1)

您的操作系统使用PATH环境变量来查找您写入外壳程序的命令,因此,如果键入 name year project_name month week worklogs Ahkam 2019 NaN 1 1 24 Ahkam 2019 NaN 1 2 20 Naser 2019 NaN 1 1 15 Naser 2019 NaN 1 2 8 ,它将通过该PATH中列出的目录并检查是否有您的程序。它需要第一个匹配的程序并执行它,因此在您的情况下,目录python3在目录/Library/Frameworks/.../3.6/bin之前,这意味着将使用usr/local/bin中的python3

因此,您需要更改此PATH变量:

/Library/Frameworks/.../3.6/bin

您可以将其放入export PATH="/Users/sky/Documents/software/Montage-master/bin:/usr/share/file/magic/mercurial:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/mysql/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin" 中,以使其永久保存,而不必在每次打开新的终端窗口时进行设置。

注意,这不会在会话的剩余时间内自动更新您的路径。为此,您应该运行:

~/.bash_profile

答案 1 :(得分:0)

您确定已安装python3.7吗? 您可以查看文件夹

cd /usr/bin

接下来,您搜索python的文件:

find /usr/bin/ python3

如果不存在文件名python3.7 install

sudo apt install python3.7
sudo apt update