【问题标题】:Homebrew link python to /usr/local/bin/ on MacHomebrew 将 python 链接到 Mac 上的 /usr/local/bin/
【发布时间】:2018-04-28 21:48:19
【问题描述】:

我想问一下如何通过 Homebrew 在 Mac 上安装 python。 Homebrew 是 Mac 的包管理器。

具体来说,我想将 python 链接到/usr/local/bin/,而不是默认链接的/usr/bin/

这样做的原因是我想安装一个虚拟环境,它将为我提供 python 库(参见:https://www.learnopencv.com/install-opencv3-on-macos/)。否则虚拟环境无法安装为source /usr/local/bin/virtualenvwrapper.sh中的bash_profile无法读取。

你知道我该怎么做吗?

简而言之,我希望终端上which python 的输出为/usr/local/bin/python,而不是默认情况下的/usr/bin/python

更新: 我应用了 TomD 下面描述的更改(我希望是正确的!)但现在 which python 没有输出:不是我想要的 /usr/local/bin/python(甚至不是 /usr/bin/python)。 那么为什么'cellar'中的python最终没有链接到/usr/local/bin/python

【问题讨论】:

  • 目录更改是否有特定原因?例如,您是否正在寻找它来覆盖 python 的系统版本?
  • 感谢您的关注。我修改了我的正文来回应这个问题。你有什么想法吗?
  • 默认情况下,Python 的自制安装应该已经将二进制文件放入/usr/local/bin
  • 嗯...我不太确定。当我输入“which python”时,答案是 /usr/bin/python,这是我的问题。它应该是 /usr/local/bin/python 以便我可以安装我的虚拟环境等。
  • 这听起来更像是PATH 环境变量问题,/usr/bin/usr/local/bin 之前出现。如果路径正确,ls /usr/local/bin/python 是否返回任何内容?

标签: python bash macos homebrew


【解决方案1】:

首先提供一些基本知识。 Homebrew 将所有东西都安装在“地窖”中。这就是“小桶”(包裹)的去处。

Homebrew 然后在 /usr/local/ 中创建指向其文件的符号链接。

例如python安装在/usr/local/Cellar/python

所以我建议在安装后,删除到 /usr/bin 的符号链接并在 /usr/local/bin 中创建一个。

删除符号链接:

unlink /usr/bin/python

制作符号链接:

ln -s /usr/local/Cellar/python /usr/bin/python

还要确保你的 $PATH 是正确的并且 /usr/local/bin 在 usr/bin 之前

【讨论】:

  • 感谢您的回答,但从某种意义上说,这是我的主要问题:'如何删除指向 /usr/bin 的符号链接并创建一个指向 /usr/local/bin'?我希望得到更详细的答案。
  • 还要确保你的 $PATH 是正确的并且 /usr/local/bin 在 usr/bin 之前
  • 是的,/usr/local/bin 在 usr/bin 之前,我在 'bash_profile' 中输入 'export PATH=/usr/local/bin:$PATH' (如链接所述)所以我认为所有这些都可以。那么'如何删除到 /usr/bin 的符号链接并再次创建一个到 /usr/local/bin'?
  • 修改了我的答案,包括如何删除和创建符号链接
  • 所以在第一种情况下我得到响应'unlink: /usr/bin/python: Operation not allowed' 而在第二种情况下我得到响应'ln: /usr/bin/python:不允许操作'。这是为什么呢?
猜你喜欢
  • 2013-06-12
  • 2016-07-21
  • 2014-12-26
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
  • 2018-01-15
  • 1970-01-01
相关资源
最近更新 更多