Saya mencoba untuk beralih ke Homebrew (setelah menggunakan fink dan macport) pada Mac OS X 10.6.2. Saya telah menginstal python 2.7 dengan
brew install python
Masalahnya adalah, bertentangan dengan Macport, tampaknya tidak ada utilitas python_select, dan mac python default saya selalu default
which python
berikan padaku
/usr/bin/python
dan /usr/bin/python
bukan symlink
Bagaimana saya bisa membuat rasa minuman python menjadi python default saya?
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
sumber: discourse.brew.sh/t/…Jawaban:
Saat Anda menggunakan Homebrew, perintah berikut memberikan gambar yang lebih baik:
Keluaran:
sumber
python2
di / usr / local / bin, untuk adilpython
; diaturexport PATH="/usr/local/opt/python/libexec/bin:$PATH"
di~/.bash_profile
Lihat: Bagaimana cara symlink python di Homebrew?
sumber
Perbaikan cepat:
/etc/paths
Dalam kasus saya
/etc/paths
terlihat seperti:Jika Anda ingin tahu lebih banyak tentang path di OSX, saya menemukan artikel ini cukup berguna:
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
sumber
Seperti yang disarankan oleh penginstal homebrew itu sendiri, pastikan untuk menambahkan ini ke Anda
.bashrc
atau.zshrc
:sumber
.zshrc
file dan bukan.bashrc
file yang perlu diubah.Saya melakukan "brew install python" untuk OSX High Sierra. The
$PATH
punya/usr/local/bin
sebelum jalan yang lain tapi masihwhich python
menunjuk ke python sistem.Ketika saya melihat lebih dalam, saya menemukan bahwa tidak ada python yang dapat dieksekusi
/usr/local/bin
. Dapat dieksekusi bernamapython2
. Untuk memperbaiki masalah ini, buat tautan simbolis yangpython
menunjuk kepython2
:/usr/local/bin $: ln -s python2 python
sumber
Homebrew TIDAK mengganti barang di "/ usr / bin". Anda hanya ingin meletakkan "/ usr / local / bin" di depan "/ usr / bin" di jalur Anda, lalu "python" yang akan memberi Anda "/ usr / local / bin / python".
Mengganti / usr / bin / python (atau / usr / bin / ruby) sangat tidak direkomendasikan.
sumber
python
rumus sekarang menggunakanpython3
(v3.6.5 untuk saat ini), minuman akan menautkan direktori :itu juga akan menautkan biner :
Jika Anda masih perlu menggunakan
python2.x
, gunakan:Untuk menggunakan homebrew's
python
, cukup letakkan direktori di PATH, untuk bash:untuk ikan:
catatan:
python
/usr/local/share/python
dalam versi yang lebih lama.sumber
python3
buat instalasi di jalur Anda - bukan eksekutif yang dipanggilpython
.. Secara khusus merujuk/usr/local/opt/python/libeexec/bin
sebelum direktori lain di jalur saya menyelesaikan masalah.Ubah $ PATH Anda, Tambahkan ini di bashrc Anda atau bash_profile:
lebih banyak klik di sini: Edisi # 89791
sumber
Anda perlu mengedit variabel lingkungan PATH Anda untuk memastikan di mana pun homebrew python berada dicari sebelum / usr / bin. Anda juga dapat mengatur hal-hal di konfigurasi shell Anda untuk memiliki variabel seperti PYTHON diatur ke versi python dan panggilan yang Anda inginkan
$PYTHON
daripadapython
dari baris perintah.Juga, seperti yang dinyatakan poster lain (dan terutama pada mac) JANGAN main-main dengan python di / usr / bin untuk mengarahkannya ke instalasi python lain. Anda hanya meminta masalah jika Anda melakukannya.
sumber
Saya lakukan
brew install python
, saya$PATH
baik, tapi tetap saja,which python
memberi saya sistem yang diinstal. Restart terminal, perbaiki.sumber
brew install python
dan kemudian, restart terminal, dan tidak ada yang lain? Tidak perlubrew unlink
&brew link
?hash -r
brew unlink & brew link
beberapa kali. Hanya perlu me-restart terminalpython
sekarang menunjuk kepython3
, jika Anda perlupython 2
maka lakukan:brew install python@2
dan kemudian dalam file .zshrc atau .bashrc Andaexport PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
Sekarang,pyhon --version
= Python 2.7.14 danpython3 --version
= Python 3.6.4. Itulah perilaku yang biasa saya lihat di terminal saya.sumber
Saya percaya ada cara untuk membuat homebrew python default, tetapi menurut saya cara yang tepat untuk menyelesaikan masalah adalah tidak mengacaukan dengan jalur sistem python: lebih baik untuk membuat virtualenv di mana homebrew python akan menjadi default (dengan menggunakan virtualenv - opsi -python). Menggunakan alat seperti
python_select
hampir selalu merupakan ide yang buruk.sumber
Gunakan pyenv untuk menginstal dan beralih di antara versi Python. Saya telah menggunakan rbenv selama bertahun-tahun yang melakukan hal yang sama, tetapi untuk Ruby. Sebelum itu adalah versi mengelola neraka.
Lihat halaman github pyenv untuk instruksi pemasangan. Pada dasarnya seperti ini: - Instal pyenv menggunakan homebrew.
brew install pyenv
- Tambahkan fungsi ke akhir skrip startup shell Anda sehingga pyenv dapat melakukan itu sihir.echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
pyenv install 3.7.7
.pyenv global 3.7.7
.pyevn local
. Ini membuat file di folder proyek Anda yang menentukan versi python. Pyenv akan terlihat menimpa versi python global dengan versi dalam file itu.sumber
Kerjakan saja:
Setelah melakukan itu, tambahkan ini ke bashrc Anda atau bash_profile:
Nikmati!
sumber
link
perintah dalam jawaban di sini,/usr/local/bin
adalah untukpython2
alih - alihpython
. Menggunakan alias untuk mengatasi ini sepertinya ide yang buruk, tetapi saya belum menemukan yang lebih baik.cp /usr/local/bin/python2 /usr/local/bin/python
dan sepertinya berfungsi dengan baik. Apakah ini solusi yang lebih buruk?Tambahkan
/usr/local/opt/python/libexec/bin
secara eksplisit ke.bash_profile
:Setelah itu, seharusnya berfungsi dengan benar.
sumber
Jika Anda cangkang ikan
sumber
Anda dapat mengedit / etc / paths. Ini milik saya:
Kemudian tambahkan symlink untuk versi python. Dalam kasus saya
Voila!
sumber
Sejak High Sierra, Anda perlu menggunakan:
Ini karena
/usr/local
tidak bisa lagi dicacahsumber
Tidak tahu apa yang Anda maksud dengan Python default. Saya menganggap itu praktik buruk untuk mengganti sistem interpreter Python dengan versi yang berbeda. Fungsionalitas sistem mungkin tergantung pada sistem Python dan modul tertentu atau versi Python tertentu. Alih-alih instal instalasi Python khusus Anda di tempat berbeda yang aman dan sesuaikan $ PATH Anda sesuai kebutuhan untuk memanggil Anda Python melalui pencarian jalur alih-alih mencari Python default.
sumber