簡體   English   中英

brew install 不鏈接 python3

[英]brew install doesn't link python3

我在鏈接 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啟動Python3解釋器,然后pip啟動pip3

線索在信息中:

分別指向python3python3-configpip3等的無版本符號鏈接pythonpython-configpip等已安裝到/ usr / local / opt / python / libexec / bin中

這意味着...... “如果你想讓命令python啟動python3pip來啟動pip3 ,你需要在PATH的開頭放置/usr/local/opt/python/libexec/bin 。”

因此,在您的登錄腳本( $HOME/.profile或類似)中,您需要放置:

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

然后注銷並重新登錄以使其生效。


brew link python3 一句brew link python3只意味着...... “在/usr/local/bin/python3中創建一個指向/usr/local/Cellar/python/3.7.0/python3的符號鏈接”

您可以通過以下方式查看該鏈接及其指向的位置:

ls -l /usr/local/bin/python3

至少對於 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 link 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

你會很好的 go。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM