欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 macOS 系统中,whereis python
和 which python
命令通常用来查找 Python 解释器的路径,但它们的工作方式和查找的范围是不同的,因此可能会返回不同的结果。
which python
:
这个命令在用户的 PATH
环境变量中查找可执行文件。PATH
环境变量是一个由冒号分隔的目录列表,当您在终端中输入一个命令时,shell(例如 bash 或 zsh)会按照这些目录的顺序来查找该命令。which
命令只会返回第一个匹配的可执行文件。因此,which python
会返回第一个在 PATH
中找到的 python
解释器的路径。
whereis python
:
这个命令在标准的位置(如 /usr/bin
, /usr/local/bin
, /usr/sbin
等)中查找可执行文件、源代码和手册页。whereis
命令通常返回所有找到的匹配项,而不仅仅是第一个。因此,whereis python
可能会列出多个路径,包括您可能不经常使用的 Python 版本。
不同的安装位置:您可能安装了多个 Python 版本,它们位于不同的目录中。which
只会返回 PATH
中找到的第一个,而 whereis
会列出所有找到的。
虚拟环境:如果您使用了如 virtualenv
或 conda
创建的虚拟环境,那么这些环境中的 Python 解释器可能不在标准的 PATH
中,但 whereis
可能会找到它们(如果它们位于标准位置)。
系统更新或用户安装:macOS 可能会自带一个 Python 版本,而用户也可能通过 Homebrew、MacPorts 或其他方式安装了其他版本。这些版本可能位于不同的目录中。
如果您只是想运行 Python,并且 which python
返回的版本是您想要的,那么您通常不需要担心 whereis
的结果。
如果您想使用特定版本的 Python,您可以使用 python3
(对于 Python 3)或指定完整路径来运行它。
您还可以考虑修改 PATH
环境变量,以确保您首选的 Python 版本始终位于前列。但请注意,这可能会影响其他依赖于特定 Python 版本的程序或脚本。
对于虚拟环境,您可以使用 source
命令激活它们,或者直接在激活的虚拟环境中运行命令。