Risposta breve
Per eseguire un'installazione pulita di Python 3.6.5 utilizzare:
brew unlink python # ONLY if you have installed (with brew) another version of python 3
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
Se si preferisce ripristinare una versione precedentemente installata, quindi:
brew info python # To see what you have previously installed
brew switch python 3.x.x_x # Ex. 3.6.5_1
Risposta lunga
Esistono due formule per l'installazione di Python con Homebrew: python@2
e python
.
Il primo è per Python 2 e il secondo per Python 3.
Nota: è possibile trovare risposte obsolete sul Web in cui viene indicato python3
come nome della formula per l'installazione di Python versione 3. Ora è solo python
!
Per impostazione predefinita, con queste formule è possibile installare l'ultima versione della versione principale corrispondente di Python. Pertanto, non è possibile installare direttamente una versione secondaria come 3.6.
Soluzione
Con brew
, è possibile installare un pacchetto usando l'indirizzo della formula, ad esempio in un repository git.
brew install https://the/address/to/the/formula/FORMULA_NAME.rb
O specificamente per Python 3
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/COMMIT_IDENTIFIER/Formula/python.rb
L'indirizzo che devi specificare è l'indirizzo dell'ultimo commit della formula (python.rb) per la versione desiderata. È possibile trovare l'identificatore di commit guardando la cronologia di homebrew-core / Formula / python.rb
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
Python> 3.6.5
Nel link sopra non troverai una formula per una versione di Python sopra 3.6.5. Dopo che i manutentori di quel repository (ufficiale) hanno rilasciato Python 3.7, inviano solo aggiornamenti alla ricetta di Python 3.7.
Come spiegato sopra, con homebrew hai solo Python 2 (python @ 2) e Python 3 (python), non esiste una formula esplicita per Python 3.6 .
Sebbene quegli aggiornamenti minori siano per lo più irrilevanti nella maggior parte dei casi e per la maggior parte degli utenti, cercherò se qualcuno ha fatto una formula esplicita per 3.6.