Bagaimana saya bisa memperbarui instalasi Python default / memperbaiki $ PATH saya di Mac OS X 10.6.7?

8

Saya tahu pertanyaan ini telah diajukan sebelumnya di situs ini, dan saya telah menemukan beberapa diskusi yang layak, tetapi solusi yang saya temukan dan coba tidak berhasil. Saya ingin belajar Python dan saya kesulitan mengaturnya dengan benar di Mac saya. Saya menjalankan OS X 10.6.7.

Saya telah mengunduh pemasang Python 3.2 dari python.org dan menginstalnya, yang diinstal ke /Library/Frameworks/Python.framework/Versions/3.2/bin. Ini bagus untuk saat ini karena saya bisa menggunakan IDLE untuk berkembang. Untuk menggunakan 3,2 dari baris perintah menggunakan pythonsaya mencoba mengatur ulang $PATHvariabel saya . Seperti inilah ~/.profiletampilannya:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Namun, pythonmasih meluncurkan 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Setelah berjuang dengan itu untuk sementara waktu, saya memutuskan untuk menghapus instalasi 3.2 dan mencoba memperbarui sistem instalasi Python. Saya tidak yakin bagaimana melakukannya dengan benar, jadi saya juga perlu menggunakan 3.2 dengan baris perintah atau memperbarui 2.6.1.

Steven Zezulak
sumber

Jawaban:

5

Saya baru saja menyelesaikan masalah ini dengan menginstal Python 3.2.2 di Mac OS X Lion saya, jadi saya pikir saya akan memposting bagaimana saya melakukannya dengan harapan seseorang mungkin merasa terbantu.

Pertama, saya setuju dengan shadesandcolour karena Anda tidak boleh memodifikasi salinan default python yang datang dengan mac Anda karena mungkin ada skrip yang mungkin tidak berfungsi dengan benar ketika dijalankan menggunakan interpreter Python 3.0+. Karena itu, untuk menginstal Python terbaru (3.2.2 pada saat posting ini), Anda harus terlebih dahulu mengunduh installer Python dari situs resmi. Instal seperti biasa. Jalankan file "Update Shell Profile.command" di folder / Applications / Python (ver).

Setelah python diinstal, Anda perlu mengedit path Anda dengan mengetikkan "sudo nano / etc / paths" di baris perintah. Selanjutnya, masukkan kata sandi Anda saat diminta. Selanjutnya hanya "memotong" baris "/ usr / local / bin" dan "paste" SEBELUM terjadinya "/ usr / bin". Simpan file, tutup semua terminal terbuka dan jalankan terminal contoh baru. Sekarang ketika Anda mengetik "python" di baris perintah, shell akan mencari melalui / usr / local / bin terlebih dahulu dan menjalankan salinan python terbaru.

lightalchemist
sumber
+1 sejak saya sudah mencoba mencari tahu ini sepanjang hari. Memang, di Snow Leopard, jika pengaturan PATH di konfigurasi shell Anda tidak berfungsi, pengeditan /etc/pathseperti yang Anda sarankan berfungsi dengan baik. Bagi saya, masalahnya adalah mengenali emacs grafis dan terminal untuk mengenali saya ingin menggunakan instalasi python khusus. Terima kasih atas tipnya!
jrhorn424
ini bekerja jika saya juga cd /usr/local/bindan cp python3.7 pythondan me-restart terminal saya.
openwonk
1

Dari pengalaman saya, menggunakan symlinks bersama dengan PATH yang dipesan dengan benar adalah cara untuk memiliki beberapa versi dari Python hidup berdampingan di OS X atau nix lain yang dapat saya pikirkan. OS X hanya sedikit konyol, tetapi bekerja dengan cara yang sama.

Pertama dapatkan gambar lengkap dengan menjalankan perintah berikut:

which python

Kemudian:

ls -la /usr/bin/python*

dan bandingkan dengan:

ls -la /usr/local/bin/python*

Lihat di mana symlink menunjuk.

Berdasarkan PATH yang Anda posting, karena / usr / bin muncul setelah / usr / local / bin dan yang lainnya Anda mungkin menggunakan juru bahasa System python:

/usr/bin/python

Jika Anda menginstal python3.0, itu kemungkinan akan berjalan sebagai:

/usr/local/bin/python

Sekarang Anda tahu apa yang menunjuk di mana, dan penerjemah apa yang sedang dimuat dari PATH, Anda dapat membuat perubahan yang sesuai untuk PATH dan / atau symlink. Anda kemudian dapat menggunakan teknik yang sama untuk mengonfirmasi perubahan yang tepat.

Untuk informasi lebih lanjut tentang instalasi python di macOS, lihat menyelam ke python3 dan farmdev .

Somantra
sumber
/usr/local/bin/pythontidak ada tetapi /usr/local/bin/python3tidak ada. python3 --versionmemberi saya instal (3.2). Bisakah saya mengganti nama symlink itu pythonjadi saya tidak perlu mengetikkan 3?
Steven Zezulak
Jika PATH Anda dipesan dengan benar (/ usr / local / bin datang setelah / usr / bin), maka Anda bisa membuat symlink yang melakukan itu.
Somantra
1
Tetapi jika / usr / bin muncul setelah / usr / local / bin maka ia akan terus memuat sistem python (/ usr / bin / python).
Somantra
0

Mungkin jika Anda menginstal Python melalui MacPorts, itu akan meningkatkan versi sistem. Aku sebenarnya tidak curiga, karena itu agak riskan bagiku. Tapi Anda mungkin ingin memeriksa apa yang MacPorts lakukan ketika Anda menginstal Python dengannya.

James T Snell
sumber
0

Saya telah menanyakan kepada seseorang pertanyaan ini sebelumnya dan saya disarankan untuk tidak mengubah versi standar python karena bagian-bagian dari operasi mungkin bergantung pada versi 2.7 yang ada di tempatnya. Yang sedang berkata itu bukan pekerjaan yang lebih banyak untuk menempatkan perintah python3 di jalur Anda. Itulah yang saya lakukan saat ini dan sepertinya baik-baik saja.

membawa
sumber
0

Jika Anda menggunakan installer, python Anda ada di / usr / local / bin / python3. Jalur juga harus diperbarui secara otomatis agar tersedia seperti python3di terminal Anda. Lama pythonmasih tersedia dan dapat digunakan oleh sistem lain.

Divisi dengan Nol
sumber