欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 macOS(以及大多数 Unix-like 系统)中,PATH
环境变量是一个由冒号 (:
) 分隔的目录列表,用于告诉 shell(例如 bash, zsh 等)在哪些目录中查找可执行文件。当您尝试运行一个命令时,shell 会按照 PATH
中列出的目录顺序来查找该命令的可执行文件。
如果 PATH
中有两个不同的目录都包含名为 python
的可执行文件,那么 shell 会使用它在 PATH
中较早遇到的目录中的那个 python
。具体来说,它会从 PATH
的开始处开始查找,并使用它找到的第一个匹配项。
例如,如果您的 PATH
看起来像这样(这里用空格代替实际的冒号,以便阅读):
bash复制代码/usr/local/bin /usr/bin /bin
并且 /usr/local/bin
和 /usr/bin
都包含名为 python
的可执行文件,那么当您键入 python
并按下回车时,shell 会首先尝试在 /usr/local/bin
中找到并执行 python
。
要查看当前的 PATH
设置,您可以在终端中键入:
bash复制代码echo $PATH
如果您想更改 PATH
中目录的顺序,您可以直接在 shell 配置文件(如 .bash_profile
、.zshrc
等)中编辑它。例如,要将 /usr/bin
放在 /usr/local/bin
之前,您可以添加以下行(取决于您使用的 shell 和配置文件):
bash复制代码export PATH="/usr/bin:/usr/local/bin:$PATH"
但是,请注意,更改 PATH
可能会影响其他依赖于特定路径的命令和脚本,所以在进行更改时要小心。
macos 中 python 执行的是 /usr/bin/python 而不是 anaconda 的 python
在 macOS 中,如果你发现 python
命令执行的是 /usr/bin/python
而不是 Anaconda 的 Python,这通常是因为你的 PATH
环境变量中 /usr/bin
目录排在了 Anaconda 安装的 Python 目录之前。要解决这个问题,你需要调整 PATH
环境变量,以确保 Anaconda 的 Python 目录排在前面。
以下是如何调整 PATH
环境变量的步骤:
确定 Anaconda 的 Python 目录:
通常,Anaconda 的 Python 目录位于 ~/anaconda3/bin
或 ~/miniconda3/bin
(取决于你安装的是 Anaconda 还是 Miniconda,以及你是否更改了默认安装位置)。你可以通过 ls
命令来确认这个目录是否存在。
编辑你的 shell 配置文件:
根据你的 shell(bash, zsh 等),你需要编辑不同的配置文件。对于 bash,通常是 ~/.bash_profile
或 ~/.bashrc
;对于 zsh,通常是 ~/.zshrc
。
使用文本编辑器打开这个配置文件。例如,使用 nano
(如果你还没有安装你喜欢的编辑器):
bash复制代码nano ~/.bash_profile # 或者 ~/.bashrc 或 ~/.zshrc
添加或修改 PATH:
在文件的末尾,添加或修改一行来设置 PATH。确保 Anaconda 的 Python 目录在 /usr/bin
之前。例如:
bash复制代码export PATH="/Users/yourusername/anaconda3/bin:$PATH"
或者,如果你使用的是 Miniconda:
bash复制代码export PATH="/Users/yourusername/miniconda3/bin:$PATH"
请确保将 yourusername
替换为你的用户名,并且路径与你的 Anaconda 或 Miniconda 安装位置相匹配。
使更改生效:
保存并关闭配置文件后,运行以下命令来使更改生效:
bash复制代码source ~/.bash_profile # 或者 ~/.bashrc 或 ~/.zshrc
或者,你可以简单地关闭并重新打开你的终端窗口。
验证更改:
现在,当你运行 python --version
或 which python
时,你应该看到 Anaconda 的 Python 版本和路径。
请注意,如果你使用的是 macOS Catalina 或更高版本,并且启用了 SIP(System Integrity Protection),那么直接修改 /usr/bin/python
可能是不可能的,也不建议这样做。相反,你应该通过管理你的 PATH
来选择你希望使用的 Python 版本。