Bagaimana cara menambahkan kernel python3 ke jupyter (IPython)


322

JupyterNotebook saya diinstal dengan python 2kernel. Saya tidak mengerti mengapa. Saya mungkin telah mengacaukan sesuatu ketika saya menginstal. Saya sudah python 3 menginstal. Bagaimana saya menambahkannya Jupyter? Berikut adalah tangkapan layar dari apa yang standar Jupyterdibuat python3 -m install jupyterdan dibuka di browser dengan jupyter notebookseperti: masukkan deskripsi gambar di sini


python2adalah kernel default Anda. Karena Anda menginstal ipython ke python2juru bahasa, Anda juga mendapatkan python2sebagai kernel default Anda. Jika Anda menginstal ke dalam python3.x, Anda akan memiliki per default sebuah python3kernel.
cel

Saya menemukan blog ini sangat berguna: datapoly.org/2018/06/18/…
Koo

Jawaban:


296

Ini bekerja untuk saya di Ubuntu 16.04:

python2 -m pip install ipykernel
python2 -m ipykernel install --user

python3 -m pip install ipykernel
python3 -m ipykernel install --user

Referensi dokumentasi:
Kernel untuk Python 2 dan 3 . Menginstal kernel IPython - IPython Docs.


3
ah, saya memperbarui notebook dengan: sudo pip install -U ipykernel dan berfungsi
Jamesszm

Bekerja pada macOS Sierra. Bahkan bekerja di bawah lingkungan conda!
Osa

Bekerja di ubantu 16.04, cukup segarkan halaman buku catatan Anda. Terima kasih!
ketankk

1
saya mencobanya tetapi perintah 3 dan 4 tidak berhasil jadi saya harus menginstal pip3 dan menjalankannya sebagai python3 -m pip instal ipykernel python3 -m ipykernel install --user
Mert Cuhaci

Bekerja dengan sempurna di Mac Mojave
mleafer

228

Pastikan Anda telah ipykernelmenginstal dan menggunakan ipython kernel installuntuk menjatuhkan kernel di lokasi yang tepat untuk python2. Lalu ipython3 kernel installuntuk Python3. Sekarang Anda harus dapat memilih antara 2 kernel terlepas dari apakah Anda menggunakan jupyter notebook, ipython notebookatau ipython3 notebook(dua yang terakhir sudah usang).

Perhatikan bahwa jika Anda ingin menginstal untuk executable Python tertentu Anda dapat menggunakan trik berikut:

path/to/python -m ipykernel install <options>

Ini berfungsi saat menggunakan lingkungan (venv, conda, ...) dan <options>membiarkan Anda memberi nama kernel Anda (lihat --help). Jadi kamu bisa melakukannya

conda create -n py36-test python=3.6
source activate py36-test
python -m ipykernel install --name py36-test
source deactivate

Dan sekarang Anda mendapatkan kernel bernama py36-testdi menu dropdown Anda, di sepanjang yang lain.

Lihat Menggunakan kedua Python 2.x dan Python 3.x di IPython Notebook yang memiliki informasi lebih baru.


2
Instruksi pertama bekerja dengan baik. Yang kedua mengeluarkan:: [TerminalIPythonApp] PERINGATAN | File tidak ditemukan: 'kernelspec'
quickbug

2
Anda perlu menginstal / meningkatkan IPython di python3 juga.
Matt

9
Anda mungkin perlu --useratau --prefixuntuk menginstal pengguna. Ini dapat bekerja untuk venvs, tetapi logika untuk itu tidak dipanggang. Anda perlu menduplikasi kernelspec dan merujuk ke biner python secara eksplisit.
Matt

2
Terima kasih, ini bekerja untuk saya di Anaconda - jalankan ipython kernelspec install-selfkemudian aktifkan Python3 dengan source activate python3perintah yang samaipython kernelspec install-self
Colin Gravill

3
solusi dazzle bekerja untuk saya di Ubuntu 14.04 (dijawab di bawah). Saya lakukan sudo apt-get remove ipython3 ipython3-notebook; sudo apt-get install pip3; sudo pip3 install ipython; sudo ipython kernelspec install-self; sudo ipython3 kernelspec install-self. Kemudian saya memiliki pilihan notebook python3 baru ketika saya diluncurkan secara ipython notebooknormal.
Teque5

125
  1. Mendapat notebook ipython dengan Python2 (di Windows7)
  2. tingkatkan ke Jupyter dengan pip install -U jupyter
  3. instal Python3
  4. instal Jupyter lagi menggunakan pip3 install jupyter
  5. instal kernel Python3 menggunakan ipython3 kernelspec install-self
  6. Saya akhirnya mendapatkan 2 kernel yang berfungsi.

hasil yang bagus


1
Pesan terminal merekomendasikan menggunakan "jupyter" alih-alih ipython. Meskipun masih berfungsi!
Julian

2
Ya akhirnya! Tanpa ipython3 kernelspec install-selfperintah itu hanya menggantikan kernel python3 untuk python2. Daripada Anda.
Emilio Ferrucci

1
Jalankan instal ipython kernel sebagai gantinya di langkah 6. ipython3 kernelspec install-selftidak berfungsi lagi dan jupyter kernelspec install-selfsudah usang.
ambodi

Apa yang Anda PYTHONPATHmiliki di masing-masing langkah di atas?
user3226167


74

untuk versi terbaru dari jupyter / ipython : usejupyter kernelspec

Dok lengkap: https://ipython.readthedocs.io/en/latest/install/kernel_install.html

daftar kernel saat ini

$ jupyter kernelspec list
Available kernels:
  python2    .../Jupyter/kernels/python2
  python3    .../Jupyter/kernels/python3

Dalam kasus saya, pengaturan kernel python3 rusak karena tautan py3.5 sudah tidak ada lagi, digantikan oleh py3.6

tambah / hapus kernel

Menghapus:

$ jupyter kernelspec uninstall python3

Tambahkan yang baru: Menggunakan Python yang ingin Anda tambahkan dan arahkan ke python yang menjalankan jupiter Anda:

$ /path/to/kernel/env/bin/python -m ipykernel install --prefix=/path/to/jupyter/env --name 'python-my-env'

Lihat lebih banyak contoh di https://ipython.readthedocs.io/en/6.5.0/install/kernel_install.html#kernels-for-different-enmentsments

Daftar lagi:

$ jupyter kernelspec list
Available kernels:
  python3    /usr/local/lib/python3.6/site-packages/ipykernel/resources
  python2    /Users/stefano/Library/Jupyter/kernels/python2

Doc: https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs

Detail

Kernel yang tersedia tercantum di bawah kernelsfolder di Jupyter DATA DIRECTORY (lihat http://jupyter.readthedocs.io/en/latest/projects/jupyter-directories.html untuk detailnya).

Misalnya pada macosx itu /Users/YOURUSERNAME/Library/Jupyter/kernels/

kernel hanya dijelaskan oleh kernel.jsonfile, mis. untuk/Users/me/Library/Jupyter/kernels/python3/kernel.json

{
 "argv": [
  "/usr/local/opt/python3/bin/python3.5",
  "-m",
  "ipykernel",
  "-f",
  "{connection_file}"
 ],
 "language": "python",
 "display_name": "Python 3"
}

Daripada memanipulasi itu dengan tangan, Anda bisa menggunakan kernelspecperintah (seperti di atas). Ini sebelumnya tersedia melalui ipython sekarang melalui jupyter ( http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environmentments - https://jupyter-client.readthedocs.io/ id / latest / kernels.html # kernelspecs ).

$ jupyter kernelspec help
Manage Jupyter kernel specifications.

Subcommands
-----------

Subcommands are launched as `jupyter kernelspec cmd [args]`. For information on
using subcommand 'cmd', do: `jupyter kernelspec cmd -h`.

list
    List installed kernel specifications.
install
    Install a kernel specification directory.
uninstall
    Alias for remove
remove
    Remove one or more Jupyter kernelspecs by name.
install-self
    [DEPRECATED] Install the IPython kernel spec directory for this Python.

To see all available configurables, use `--help-all`

Kernel untuk bahasa lain

Omong-omong, tidak terkait langsung dengan pertanyaan ini tetapi ada banyak kernel lain yang tersedia ... https://github.com/jupyter/jupyter/wiki/Jupyter-kernels


mendapat downvote tanpa komentar ... akan menarik untuk mengetahui kapan ini tidak berfungsi!
Stefano

2
Jawaban yang sangat bagus. Saya telah menghadapi masalah ini selama seminggu dan saya tidak tahu solusinya. Saya seharusnya melihat solusi Anda sebelumnya;)
DucCuong

5
Tidak berfungsi untuk saya di Mac OS x ver 10.13.5 saya. Python3 diinstal menggunakan brew, dan jupyter diinstal dengan pip3. Ini hanya menawarkan kernel python2. instal kernelspec <path_to_python_3> tampaknya berfungsi, tetapi daftar kernelspec tidak menunjukkannya.
Presiden James K. Polk

@JamesKPolk cukup sulit untuk men-debug apa masalah Anda dari deskripsi singkat Anda, tapi saya mengikuti instalasi yang sama dengan Anda, kecuali sekarang py3 saya berasal dari pyenv (lebih mudah untuk mengelola beberapa versi daripada langsung melalui minuman).
Stefano

1
Itu tidak bekerja untuk saya juga. Setelah saya jalankan jupyter kernelspec install $HOME/.pyenv/versions/metrics/bin --name=metricskernel --user, saya mengerti Installed kernelspec metricskernel in $HOME/.local/share/jupyter/kernels/metricskernel, tetapi tidak ada kernel.json di dalamnya, oleh karena itu tidak terdaftar kernelspec list. Sebaliknya, di dalamnya ada banyak skrip yang disalin $HOME/.pyenv/versions/metrics/bin. @JamesKPolk apakah ini mirip dengan masalah Anda? apakah Anda sudah bisa menyelesaikannya?
Hlib Babii

39

Jika Anda menggunakan distribusi anaconda, ini bekerja untuk saya (pada macintosh):

$ conda create -n py3k python=3 anaconda

$ source activate py3k

$ ipython kernelspec install-self

Hanya catatan untuk perintah terakhir:

(py3k)Monas-MacBook-Pro:cs799 mona$ ipython kernelspec install-self
[TerminalIPythonApp] WARNING | Subcommand `ipython kernelspec` is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use `jupyter kernelspec` in the future
[InstallNativeKernelSpec] WARNING | `jupyter kernelspec install-self` is DEPRECATED as of 4.0. You probably want `ipython kernel install` to install the IPython kernelspec.
[InstallNativeKernelSpec] Installed kernelspec python3 in /usr/local/share/jupyter/kernels/python3
(py3k)Monas-MacBook-Pro:cs799 mona$ ipython kernel install 
Installed kernelspec python3 in /usr/local/share/jupyter/kernels/python3

Saat diuji di OSX Yosemite dengan langkah-langkah di atas dan memasukkan jupter notebookdan membuat buku catatan baru di peramban Anda akan melihat tangkapan layar berikut: masukkan deskripsi gambar di sini


4
Bekerja untuk saya tetapi harus menambahkan --user, karena saya memiliki instalasi khusus pengguna:
brianray

Bekerja seperti pesona!
SeaWarrior404

Perhatikan bahwa install-selfsekarang sudah usang.
Christian Hudon

31

Perintah berikut berfungsi untuk saya, di macOS Sierra (10.12.3)

python3 -m pip install ipykernel
python3 -m ipykernel install --user

periksa dengan jupyter kernelspec daftar Kernel yang tersedia: python3 / Users / admin / Library / Jupyter / kernel / python3 python2 / anaconda2 / share / jupyter / kernel / python2


1
Bekerja untuk saya di Ubuntu 18.04
rootve

Bekerja di mesin windows 7 saya juga.
Christian K.

Bekerja pada mesin windows 10-nya juga.
Suisse

Bekerja pada High Sierra 10.13.6 juga.
spacetyper

26

Saya berhasil menginstal kernel python3 di macOS El Capitan (versi ipython: 4.1.0) dengan perintah berikut.

python3 -m pip install ipykernel
python3 -m ipykernel install --user

Anda dapat melihat semua kernel yang terinstal dengan jupyter kernelspec list .

Info lebih lanjut tersedia di sini


Terima kasih, itu juga bekerja di Linux Mint. pip3dan Python3-setuptoolsjuga dibutuhkan.
kapulaga

19

buka terminal (atau cmd untuk jendela), kemudian jalankan perintah berikut: (Pada jendela, letakkan "sumber" di baris kedua.)

conda create -n py35 python=3.5
source activate py35
conda install notebook ipykernel
ipython kernel install --user --name=python3.5

Saya mencoba beberapa metode tetapi tidak berhasil, kemudian saya menemukan cara ini. Itu berhasil dengan saya. Berharap itu bisa membantu.


bekerja untukku. Saya menggunakan Mac OS 10.10.4. Saya menggunakan notebook ipython dengan Python 2.7. Saya sudah menginstal Python 3.5. Kemudian saya mengikuti 4 prosedur di atas dan berhasil mendapatkan Python3 dan Python3.5 di notebook Jupyter saya.
Bill Ancalagon the black

Bekerja seperti pesona di windows 10
code-assassin

'sumber' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan, atau file batch.
Abdullah Said

1
@AbdullahSaid: Apakah Anda menggunakan Windows? Seperti yang saya sebutkan, pada Windows, gunakan "aktifkan py35", alih-alih "sumber aktifkan py35". Semoga ini membantu.
Catbuilts

13

Saya punya Python 2.7 dan ingin bisa beralih ke Python 3 di dalam Jupyter.

Langkah-langkah ini bekerja untuk saya di Prompt Perintah Windows Anaconda:

conda update conda
conda create -n py33 python=3.3 anaconda
activate py33
ipython kernelspec install-self
deactivate

Sekarang setelah membuka notebook ipython dengan perintah biasa untuk Python2.7, Python3.3 juga tersedia saat membuat notebook baru.


ini adalah solusi terbaik
Adam


6

Untuk Peluncur Python saat ini

Jika Anda memiliki Py3 diinstal tetapi default ke py2

py -3 -m pip install ipykernel
py -3 -m ipykernel install --user

Jika Anda telah menginstal Py2 tetapi default ke py3

py -2 -m pip install ipykernel
py -2 -m ipykernel install --user

5

Di Ubuntu 14.04 saya harus menggunakan kombinasi jawaban sebelumnya.

Pertama, instal pip3 apt-get install python-pip3

Kemudian dengan pip3menginstal jupyter pip3 install jupyter

Kemudian gunakan ipython3instal kernel ipython3 kernel install


4

Tidak ada jawaban lain yang langsung bekerja untuk saya di ElementaryOS Freya (berdasarkan Ubuntu 14.04); Saya mendapatkan

[TerminalIPythonApp] PERINGATAN | File tidak ditemukan: 'kernelspec'

kesalahan yang dijelaskan oleh quickbug di bawah jawaban Matt . Pertama-tama saya harus melakukan:

sudo apt-get install pip3, kemudian

sudo pip3 install ipython[all]

Pada titik itu Anda dapat menjalankan perintah yang disarankan Matt ; yaitu: ipython kernelspec install-selfdanipython3 kernelspec install-self

Sekarang ketika saya meluncurkan ipython notebookdan kemudian membuka notebook, saya dapat memilih kernel Python 3 dari menu Kernel.


4

Saya berhasil menginstal kernel Python3 di samping Python2. Inilah cara saya melakukannya:

Tautan kerja terbaru dapat ditemukan di sini .

Kode aktualnya adalah:

! mkdir -p ~/.ipython/kernels/python3
%%file ~/.ipython/kernels/python3/kernel.json

{
 "display_name": "IPython (Python 3)", 
 "language": "python", 
 "argv": [
  "python3", 
  "-c", "from IPython.kernel.zmq.kernelapp import main; main()", 
  "-f", "{connection_file}"
 ], 
 "codemirror_mode": {
  "version": 2, 
  "name": "ipython"
 }
}

1
Terima kasih! Ini bekerja untuk saya (baik untuk Python 3 dan Julia).
Piotr Migdal

4
Sebaiknya jangan menyembunyikan bagian terpenting dari jawaban di balik tautan (mungkin menghilang dan kemudian jawabannya menjadi tidak berharga).
Chris


2
@quickbug tautannya rusak
JPCF

1
@quickbug tautannya rusak! Untuk jawaban di masa depan pastikan Anda mengambil tangkapan layar dan jawaban Anda berisi semuanya karena Anda tidak pernah dapat benar-benar mengandalkan tautan eksternal
Mona Jalal


3

Solusi terpendek dan terbaik dari sisi saya

conda create --name py3-ml python=3.6
conda install ipykernel

source activate py3-ml # or conda activate py3-ml
python -m ipykernel install --user --name py3-ml

mau mengomentari kode Anda? apa yang akan terjadi jika Anda sudah menginstal python secara manual dalam kasus ini?
user2305193

3

Menambahkan kernel berarti Anda ingin menggunakan Jupyter Notebookversi python yang tidak muncul dalam daftar.

Pendekatan sederhana - Mulai notebook dengan versi python yang diperlukan, misalkan saya telah python3.7menginstal kemudian menggunakan perintah di bawah ini dari terminal (cmd) untuk menjalankan notebook:

python3.7 -m notebook

Terkadang bukannya python3.7menginstal dengan alias py, py3.7, python.


2

MEMASANG KOPI GANDA UNTUK LINGKUNGAN VIRTUAL TUNGGAL (VENV)

Sebagian besar (jika tidak semua) dari jawaban ini menganggap Anda senang menginstal paket secara global. Jawaban ini untuk Anda jika Anda:

  • gunakan mesin * NIX
  • tidak suka menginstal paket secara global
  • tidak ingin menggunakan anaconda <-> Anda senang menjalankan server jupyter dari baris perintah
  • ingin mengetahui apa / di mana instalasi kernel 'adalah'.

(Catatan: jawaban ini menambahkan kernel python2 ke instalasi python3-jupyter, tetapi secara konsep mudah untuk menukar banyak hal.)

  1. Prasyarat

    1. Anda berada di direktori dari mana Anda akan menjalankan server jupyter dan menyimpan file
    2. python2 diinstal pada mesin Anda
    3. python3 diinstal pada mesin Anda
    4. virtualenv diinstal pada mesin Anda
  2. Buat python3 venv dan instal jupyter

    1. Buat python3 venv segar: python3 -m venv .venv
    2. Aktifkan venv: . .venv/bin/activate
    3. Instal jupyterlab: pip install jupyterlab . Ini akan membuat secara lokal semua infrastruktur penting untuk menjalankan notebook.
    4. Catatan: dengan menginstal jupyterlab di sini, Anda juga menghasilkan 'spesifikasi kernel' (lihat di bawah) di $PWD/.venv/share/jupyter/kernels/python3/. Jika Anda ingin menginstal dan menjalankan jupyter di tempat lain, dan hanya menggunakan venv ini untuk mengatur semua kernel Anda, maka Anda hanya perlu:pip install ipykernel
    5. Anda sekarang dapat menjalankan lab jupyter dengan jupyter lab(dan pergi ke browser Anda ke url yang ditampilkan di konsol). Sejauh ini, Anda hanya akan melihat satu opsi kernel yang disebut 'Python 3'. (Nama ini ditentukan oleh display_nameentri dalam kernel.jsonfile Anda .)
  3. Tambahkan kernel python2

    1. Berhenti jupyter (atau mulai shell lain di dir yang sama): ctrl-c
    2. Nonaktifkan python3 venv Anda: deactivate
    3. Buat venv baru di dir yang sama untuk python2: virtualenv -p python2 .venv2
    4. Aktifkan python2 venv Anda: . .venv2/bin/activate
    5. Instal modul ipykernel: pip install ipykernel . Ini juga akan menghasilkan spesifikasi kernel default untuk python2 venv in ini.venv2/share/jupyter/kernels/python2
    6. Ekspor spesifikasi kernel ini untuk venv python3 Anda: python -m ipykernel install --prefix=$PWD/.venv. Ini pada dasarnya hanya menyalin dir $PWD/.venv2/share/jupyter/kernels/python2ke$PWD/.venv/share/jupyter/kernels/
    7. Beralih kembali ke venv python3 Anda dan / atau tayangan ulang / re-memeriksa Server jupyter Anda: deactivate; . .venv/bin/activate; jupyter lab. Jika semuanya berjalan dengan baik, Anda akan melihat Python 2opsi di daftar kernel Anda. Anda dapat menguji bahwa mereka menjalankan interpreter python2 / python3 nyata dengan menangani perintah print 'Hellow world'vs sederhana print('Hellow world').
    8. Catatan: Anda tidak perlu membuat venv terpisah untuk python2 jika Anda senang menginstal ipykernel dan merujuk spesifikasi python2-kernel dari ruang global, tetapi saya lebih suka memiliki semua dependensi saya dalam satu direktori lokal

TL; DR

  1. Opsional menginstal kernel R. Ini bermanfaat untuk mengembangkan pengertian tentang apa itu 'kernel'.
    1. Dari dir yang sama, instal paket R IRkernel: R -e "install.packages('IRkernel',repos='https://cran.mtu.edu/')". (Ini akan menginstal ke lokasi paket-R standar Anda; untuk R buatan-rumah-terinstal pada Mac, ini akan terlihat seperti /usr/local/Cellar/r/3.5.2_2/lib/R/library/IRkernel.)
    2. The IRkernel paket dilengkapi dengan fungsi untuk mengekspor spesifikasi kernel, sehingga jalankan: R -e "IRkernel::installspec(prefix=paste(getwd(),'/.venv',sep=''))". Jika sekarang Anda melihat di dalam $PWD/.venv/share/jupyter/kernels/Anda akan menemukan irdirektori dengan kernel.jsonfile yang terlihat seperti ini:
{
  "argv": ["/usr/local/Cellar/r/3.5.2_2/lib/R/bin/R", "--slave", "-e", "IRkernel::main()", "--args", "{connection_file}"],
  "display_name": "R",
  "language": "R"
}

Singkatnya, kernel hanya 'adalah' doa dari bahasa-executable dari kernel.jsonfile yang dicari jupyter di .../share/jupyter/kernelsdirektori dan daftar di antarmuka; dalam hal ini, R dipanggil untuk menjalankan fungsi IRkernel::main(), yang akan mengirim pesan bolak-balik ke server Jupiter. Demikian juga, kernel python2 hanya 'adalah' doa dari penerjemah python2 dengan modul ipykernel_launcherseperti yang terlihat di.venv/share/jupyter/kernels/python2/kernel.json , dll.

Ini adalah skrip jika Anda ingin menjalankan semua instruksi ini dalam satu gerakan.


Hai Magnus, bagaimana saya bisa memaksa notebook jupyter menggunakan kernel yang bukan default (mis. .Venv3) ?? Ketidakmampuan untuk melakukan ini telah menjadi duri di sisiku selamanya. Saya ingin menggunakan virtual env kernel secara default !!
pemula

0

Inilah metode baris perintah Windows / non yang saya temukan, yang berfungsi untuk saya: Temukan folder tempat file kernel disimpan (di komputer saya - C: \ ProgramData \ jupyter \ kernel - perhatikan bahwa ProgramData adalah folder tersembunyi), buatlah salinan folder kernel yang ada, ubah nama dan edit file json di dalam untuk menunjuk ke direktori kernel baru. Dalam json ini, Anda juga dapat mengedit nama kernel yang ditampilkan dalam ipython (misalnya, bukan hanya python 2, Anda dapat menentukan 2.7.9 jika Anda perlu membedakan lebih lanjut karena beberapa alasan).


0

Saat Anda menggunakan conda mengelola python envs Anda, ikuti dua langkah ini:

  1. activate py3(di Windows atau source activate py3di Linux)
  2. conda install notebook ipykernel atau gunakan saja conda install jupyter

0

Saya mendapatkan kesalahan yang sama dengan python-2. Saya ingin menjalankan sesi notebook jupyter python-2 tetapi secara default saya mendapatkan python-3. Jadi pekerjaan yang paling mudah adalah buka terminal Anaconda untuk python-2 dan ketik 'jupyter notebook' , itu akan meluncurkan sesi jupyter-notebook tanpa masalah. Similary itu bisa dicoba dengan python-3


-2

Saya cukup yakin yang harus Anda lakukan adalah berlari

pip3 instal jupyter

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.