奇怪的目录被附加到我的路径前面

  • 本文关键字:路径 前面 macos path zsh
  • 更新时间 :
  • 英文 :


我使用 https://www.python.org/官方分发的Mac pkg安装程序安装了Python 3,以及我已经使用多年的自制Python 3。

我安装另一个 Python 3 的原因是 QGIS 需要官方的 Python 3.6,所以我自己只在终端上使用自制的 Python 3。因此,我希望python3引用/usr/local/bin/python3,但不知何故它的优先级较低。

$ which -a python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
/usr/local/bin/python3

这发生在下面的最小~/.zshenv和空~/.zshrc.

typeset -U path
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
setopt no_global_rcs

这将导致以下PATH配置。

$ echo $path
/Library/Frameworks/Python.framework/Versions/3.6/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin

我不理解这种行为有两点:

  1. 我的/etc如下所示,/Library/Frameworks/Python.framework/Versions/3.6/bin不应该出现在PATH中。
$ ls /etc/paths.d
$ cat /etc/paths
/usr/local/bin
/usr/bin /bin
/usr/sbin
/sbin
  1. /usr/libexec/path_helper -s的标准实际上如下。/Library/Frameworks/Python.framework/Versions/3.6/bin将附加到其余部分,而不是前置。
$ /usr/libexec/path_helper -s
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Python.framework/Versions/3.6/bin"; export PATH

有人可以帮我解决这个问题吗?

我刚刚找到了一个包含以下内容的~/.zprofile


# Setting PATH for Python 3.6
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

我不知道这是什么时候创建的,但这是显而易见的原因。我删除它。

相关内容

  • 没有找到相关文章

最新更新