【发布时间】:2019-09-13 17:21:47
【问题描述】:
除了我多年来一直使用的 Homebrewed Python 3 之外,我还使用 https://www.python.org/ 正式分发的 Mac pkg 安装程序安装了 Python 3。
我安装另一个 Python 3 的原因是 QGIS require the official Python 3.6,所以我自己只在终端上使用 Homebrewed 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
我不明白这种行为有两点:
- 我的
/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
-
/usr/libexec/path_helper -s的stdout其实如下。/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
谁能帮我解决这个问题?
【问题讨论】: