【问题标题】:brew install doesn't link python3brew install 没有链接python3
【发布时间】:2019-01-23 21:45:17
【问题描述】:

我在链接 python3 并将 python3 设置为默认 python 时遇到问题。

MacOS 10.13.6

这就是我所做的:

$ python --version
Python 2.7.15
$ python3 --version
Python 3.7.0
$ xcode-select --version
xcode-select version 2349.
$ brew install python
...

Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin
...

它不起作用。 python 仍然是 2.*

$ python --version
Python 2.7.15
$ python3 --version
Python 3.7.0
$ pip --version
pip 10.0.1 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
$ pip3 --version
pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

所以我做到了:

$ brew link python3
Warning: Already linked: /usr/local/Cellar/python/3.7.0
To relink: brew unlink python && brew link python
$ python --version
Python 2.7.15
$ brew install python3
...

Warning: python 3.7.0 is already installed and up-to-date
To reinstall 3.7.0, run `brew reinstall python`
$ brew reinstall python

也不行

$ brew link python3
Warning: Already linked: /usr/local/Cellar/python/3.7.0
To relink: brew unlink python && brew link python
$ python --version
Python 2.7.15
$ python3 --version
Python 3.7.0

【问题讨论】:

    标签: python-3.x macos python-2.7


    【解决方案1】:

    我猜你的意思是你希望命令python 启动Python3 解释器,而pip 启动pip3

    线索在消息中:

    未版本化的符号链接pythonpython-configpip 等指向 python3python3-configpip3等,分别已安装到 /usr/local/opt/python/libexec/bin

    这意味着... “如果您希望命令 python 启动 python3pip 启动 pip3,则需要将 /usr/local/opt/python/libexec/bin 放在 PATH 的开头。”

    因此,在您的登录脚本($HOME/.profile 或类似的)中,您需要输入:

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

    然后注销并重新登录以使其生效。


    顺便说一句,brew link python3 仅意味着... “在/usr/local/bin/python3 中创建一个指向/usr/local/Cellar/python/3.7.0/python3 的符号链接”

    您可以通过以下方式查看该链接及其指向的位置:

    ls -l /usr/local/bin/python3
    

    【讨论】:

    • 谢谢@Mark,我关注了this guide,你的回答更有意义。我会再试一次,并很快将您的答案标记为正确。
    • 正在寻找这个,谢谢!此外,对于正在寻找它的人:如果您正在运行 zsh,请将 export 语句添加到您的 ~/.zshrc
    • 嗯,这就是我期望 brew 应该为我做的 /
    【解决方案2】:

    至少对于 python 3.6,所选答案似乎不正确。 这可能取决于您是否安装了多个 python 版本的 brew。 就我而言,我有 3.6、3.7、3.8 和 3.9。 所以,你

    brew unlink python@3.9
    brew link python@3.6
    

    之后:

    • /usr/local/opt/python 没有条目
    • /usr/local/bin/python3 没有条目

    brew link python3 链接最新的 python 安装(在我的例子中是 3.9),不管之前发布的 brew 链接 python@3.6,所以它没有用。

    有一个入口 /usr/local/bin/python3.6 并且有一个符号链接 /usr/local/bin/python -> python3 但没有 /usr/local/bin/python3 条目。

    如果你

    ln -s /usr/local/bin/python3.6 python3
    

    你会很高兴的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 2013-02-28
      • 2018-03-06
      相关资源
      最近更新 更多