Saya mengalami masalah dengan Python, iPython dan perpustakaan. Poin-poin berikut menunjukkan rantai problematika. Saya menjalankan Python 2.7 di Mac Lion.
- iPython tidak membaca perpustakaan scipy, matplotlib, tetapi membaca numpy.
- Untuk memperbaikinya, saya mencoba menginstal versi kode sumber Python, dan itu hanya memberi saya lebih banyak masalah karena sekarang saya memiliki dua versi berbeda: 2.7.1 dan 2.7.2
- Saya perhatikan bahwa menjalankan Python, menggunakan versi 2.7.2 dan mengimpor scipy, matplotlib, dan numpy, tetapi di iPython versinya adalah 2.7.1 yang tidak membuka scipy atau matplotlib.
Saya sudah mencoba beberapa hal yang saya temui dari postingan blog lain. Tapi tidak ada yang membantu, dan sayangnya saya tidak begitu tahu apa yang saya lakukan dengan beberapa dari mereka. Misalnya: Saya mencoba menghapus dan menginstal ulang ipython dengan easy_install dan pip. Saya juga mencoba menginstal ulang semuanya melalui homebrew, dan memodifikasi jalur .bash_profile.
ipython
Script adalah "terikat" dengan versi tertentu Python itu dipasang dengan - itu tidak akan secara otomatis beralih ke apa yang Anda diinstal terakhir. Jika Anda pertama kali menginstal 2.7.1, lalu IPython, lalu 2.7.2 dari sumber, IPython Anda akan tetap menggunakan 2.7.1. Anda harus membatalkan semua flailing Anda, kembali ke versi Python asli Anda dan mencari tahu alasan di balik poin 1; bergantian, instal ulang IPython menggunakan instalasi Python mana pun yang dapat mengakses pustaka yang Anda butuhkan.ipython
dapat dieksekusi ditempatkan pada PATH Anda. Jika Anda kemudian menginstal Python 2.7.2 dari sumber, itu adalah salinan baru Python yang terpisah, itu tidak akan meningkatkan versi 2.7.1 yang ada yang memiliki IPython di dalamnya. Jadi IPython tidak akan melihat salinan 2.7.2, atau pustaka apa pun di dalamnya.Jawaban:
Oke perbaikan cepat:
memberimu
/usr/bin/python
, kan? Melakukandan saya yakin itu akan terjadi
/usr/local/bin/ipython
. Mari kita lihat ke dalam:Edit 9/7/16 - File tersebut sekarang terlihat seperti ini:
Dan saya bekerja dengan baik seperti ini, tetapi situasi saya tidak persis seperti OP.
Jawaban asli - 30/9/13:
Aha - buka
/usr/local/bin/ipython
di editor Anda (dengan hak istimewa), dan ubah baris pertama menjadisimpan, mulai iPython, harus mengatakan itu menggunakan versi yang Anda inginkan sekarang.
sumber
python -m IPython
sama denganipython
, harap Anda yakin menggunakan Python yang benar.Posting komentar @ Matt sebagai jawaban supaya lebih terlihat
Memuat ipython sebagai modul dengan python apa pun yang dapat diakses di jalur terlebih dahulu. Dalam kasus saya, saya memiliki satu pra-instal dan yang saya tambahkan dari minuman. Ini bekerja dengan sempurna.
sumber
Bagaimana dengan menggunakan virtualenv? Aku benar-benar menyukainya. Mungkin ini bukan cara yang lebih cepat, tapi menurut saya ini sangat jelas.
Saat Anda membuat virtualenv, Anda dapat menentukan jalur python dengan flag -p.
untuk python 2.7
untuk python 3.4
sumber
python -m IPython
akan memulai ipython dengan versi yang diberikan daripython
python -m IPython
perlu ini dipasang:pip install ipython
Pertama, saya akan memastikan Anda menggunakan python yang benar. Pada jenis prompt perintah:
Yang pertama akan memberi tahu Anda jalurnya, yang kedua memberi tahu Anda versi Python yang Anda gunakan.
sumber
Solusi saya sederhana, bodoh tapi berhasil.
Saya gunakan
python -V
untuk memastikan versi apadan kemudian buat alias di .bash_profile
Tambahkan garis
maka Anda akan mendapatkan
ipython
di python 2.7. 🙂(Ngomong-ngomong, saya
ipython
menginstal melaluihomebrew
, secara default akan menjalankan ipython di python 3.)sumber
sangat relevan: http://conda.pydata.org/docs/troubleshooting.html#shell-command-location .
td; masalah lr ditemui karena shell 'hashing' dan variabel path.
sumber
which python
harus menunjuk ke biner python virtualenv.hash -r
memperbaikinya untuk saya; Terima kasih!Metode serupa menggunakan pyenv
Sekarang ini akan menunjukkan versi python yang benar
sumber
Solusi paling sederhana yang dapat saya pikirkan, yang tidak perlu mengutak-atik lingkungan, file yang diinstal, atau apa pun, bergantung pada fakta bahwa
ipython
sebenarnya adalah skrip Python.pip intall
.Jika versi Python yang Anda jalankan memiliki paket IPython yang diinstal, Anda dapat melakukannya
Ini akan menjalankan
ipython
skrip dengan juru bahasa yang Anda inginkan, bukan yang terdaftar di shebang.sumber
ipython
di shell saya, secara otomatis membaca interpreter kustom dan bukan default?Masalah Anda pada dasarnya membuat ipython menggunakan python yang benar.
jadi perbaikan untuk masalahnya adalah membuat ipython menggunakan python yang benar (yang memiliki pustaka seperti scipy diinstal)
Saya telah menulis solusi di sini:
Cara membuat iPython menggunakan Python 2 sebagai pengganti Python 3
sumber
Saya menemukan masalah yang sama tetapi berikut ini adalah satu-satunya solusi yang berhasil untuk saya di OSX 12, Sierra.
ipython selalu meluncurkan untuk python 3.6 tetapi saya membutuhkannya untuk 2.7. Saya tidak dapat menemukan skrip startup ipython untuk 2.7, saya juga tidak dapat menemukan modul IPython untuk dieksekusi
python -m
. Tidak adabrew instally ipython
pip install ipython
ataupip2 install ipython
dapat memberikan saya versi 2.7. Jadi saya mendapatkannya secara manual.brew install ipython@5
menginstal versi 2.7 dari sini tetapi tidak akan menaruhnya di Anda$PATH
karena ia tahu nama konflik dengan paket lain.ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2
akan memperbaikinya dan membiarkan Anda menjalankanipython2
dari prompt shell AndaBagi saya, karena saya serius menggunakan ipython untuk 2.7, saya juga menjalankan perintah berikut.
sumber
Semua jawaban yang disebutkan di sini tidak membantu dalam memecahkan masalah jika Anda menggunakan anaconda atau pembungkus lingkungan virtual lainnya.
Jawaban ini didasarkan pada asumsi bahwa Anda menggunakan anaconda.
Katakanlah Anda berada di lingkungan python 3 dan saat membuat notebook di notebook jupyter itu menunjukkan "Python 2" bukan "Python 3".
Ini karena "ipython" pada dasarnya adalah skrip yang dijalankan dan dalam skrip ini disebutkan versi python mana yang digunakan untuk menjalankan perintah. Yang perlu Anda lakukan adalah mengubah baris ini agar ipython menggunakan versi python yang Anda inginkan.
Pertama hentikan server ipython dan dapatkan lokasi python yang dapat dieksekusi dari lingkungan saat ini menggunakan perintah "which python"
Output saya adalah:
Sekarang dapatkan lokasi yang dapat dieksekusi dari ipython menggunakan perintah "yang ipython"
punya saya :
Perhatikan bahwa itu menggunakan versi lain dari python yaitu. python dari lingkungan tertentu menjalankan versi berbeda dari python yaitu menjalankan python dari lingkungan yang berbeda.
Sekarang arahkan ke direktori anaconda2 / bin (untuk pengguna anaconda 3 harus anaconda3 / bin) dan cari file "ipython". dalam edit ini baris pertama untuk mengarahkannya ke versi python saat ini yang Anda inginkan. yaitu keluaran dari "which python" yaitu:
Perhatikan bahwa saya mengubah lingkungan python saya dari py2 (menjalankan python 2.7) menjadi py3 (menjalankan python 3.5).
Simpan file. Dan jalankan notebook jupyter, sekarang saat membuat notebook baru, opsi "Python 3" akan terlihat.
Bersulang!
sumber