2017-07-18 58 views
0

Pior以自制的我的最新更新(1.2.4)我已经Python的位置,通过brew --config指示,并链接到最新版本家酿:自制失去跟踪的Python

Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7 

和这两者和对于which -a,macOS系统提供的Python是可见的。

继更新,我已经失去了上网本的Python(尽管它依然存在,可作为python2),只是旧系统提供的Python是由brew --config上市

表示和which -a

这是最新的Homebrew的预期行为?如果没有,是否有修复恢复我曾经对最新的Homebrew Python的访问?


请注意,我还得到下面的结果(这意味着我不能使用brew修复本身):

$ brew link --overwrite --dry-run python2 
Warning: Already linked: /usr/local/Cellar/python/2.7.13_1 
To relink: brew unlink python && brew link python 
$ brew link --overwrite --dry-run python 
Warning: Already linked: /usr/local/Cellar/python/2.7.13_1 
To relink: brew unlink python && brew link python 
$ brew link --overwrite --dry-run python3 
Warning: Already linked: /usr/local/Cellar/python3/3.6.2 
To relink: brew unlink python3 && brew link python3 

天真我以为我可以在这个“手工”修复与

ln -s /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /usr/local/bin/python 

但我想知道,鉴于家酿已经对Python配置做出如此深刻的变化,更多不会发生(这种连接将会中断)。毕竟,最新的更新选择删除这个链接,当它存在。

回答

0

这是打算的(though poorly documented)行为。

为了确保访问安装了Python,现在有必要增加/usr/local/opt/python/libexec/binPATH要么

export PATH="/usr/local/opt/python/libexec/bin:$PATH" 

或将其添加到/private/etc/path

这将恢复访问不仅python,但也pip和其他Python相关的工具,其访问也消失与此更新。访问所有这些工具现在在/usr/local/opt/python/libexec/bin通过符号链接来实现:

[email protected] -> ../../bin/2to3-2 
[email protected] -> ../../bin/easy_install-2.7 
[email protected] -> ../../bin/idle2 
[email protected] -> ../../bin/pip2 
[email protected] -> ../../bin/pydoc2 
[email protected] -> ../../bin/python2 
[email protected] -> ../../bin/python2-config 
[email protected] -> ../../bin/pythonw2 
[email protected] -> ../../bin/smtpd2.py 

注意(无需用户干预,以改变上述路径)此更新似乎违反了PEP 394

应安装更通用的python命令,只要安装了任何 版本的Python 2并且应该调用相同版本的 Python作为python2命令