欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

macos whereis python 和 which python 路径不一样 文心一言 chatgpt 有大用

在 macOS 系统中,whereis python 和 which python 命令通常用来查找 Python 解释器的路径,但它们的工作方式和查找的范围是不同的,因此可能会返回不同的结果。

  1. which python
    这个命令在用户的 PATH 环境变量中查找可执行文件。PATH 环境变量是一个由冒号分隔的目录列表,当您在终端中输入一个命令时,shell(例如 bash 或 zsh)会按照这些目录的顺序来查找该命令。which 命令只会返回第一个匹配的可执行文件。因此,which python 会返回第一个在 PATH 中找到的 python 解释器的路径。

  2. 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 命令激活它们,或者直接在激活的虚拟环境中运行命令。


普通分类: