Özet (tldr)
'Python3' çekirdeğinin Python kurulumunu her zaman başlatıldığı ortamdan çalıştırmasını istiyorsanız, geçerli ortamın ne olduğuna göre öncelikli olan 'python3' çekirdeğini silin:
jupyter kernelspec remove python3
Tam Çözüm
Aşağıdaki durum için alternatif ve daha basit bir çözüm göndereceğim:
- Bir conda ortamı oluşturdunuz
- Bu ortam jupyter yüklüdür (ipykernel'i de yükler)
- Komutu çalıştırıp
jupyter notebook
'Yeni' açılır menüsünde 'python3'ü tıklatarak yeni bir not defteri oluşturduğunuzda, bu not defteri python'u geçerli ortamdan değil temel ortamdan yürütür.
- Herhangi bir ortamda 'python3' ile yeni bir not defteri başlatmak, Python sürümünü bu ortamdan yürütür, taban DEĞİL
Çözümün geri kalanı için ortam için 'test_env' adını kullanacağım. Ayrıca, 'python3'ün çekirdeğin adı olduğunu unutmayın.
Şu anda en çok oy alan cevap işe yarıyor, ancak bir alternatif var. Şunu söylüyor:
python -m ipykernel install --user --name test_env --display-name "Python (test_env)"
Bu, hangi ortamdan başlattığınıza bakılmaksızın test_env ortamını kullanma seçeneği sunar jupyter notebook
. Ancak, 'python3' ile bir dizüstü bilgisayarın başlatılması, temel ortamdan Python kurulumunu kullanmaya devam edecektir.
Muhtemelen olan, var olan bir kullanıcı python3 çekirdeğinin olmasıdır. jupyter kernelspec list
Tüm ortamlarınızı listelemek için komutu çalıştırın . Örneğin, bir mac'unuz varsa aşağıdakiler size geri gönderilecektir (kullanıcı adım Ted'dir).
python3 /Users/Ted/Library/Jupyter/kernels/python3
Jupyter'in burada yaptığı, çekirdek arayan üç farklı yoldan aramaktır. Bu gider Kullanıcı için, Env için, System . Her işletim sistemi için aradığı yollar hakkında daha fazla ayrıntı için bu belgeye bakın .
Yukarıdaki iki çekirdeğin her ikisi de Kullanıcı yolundadır, yani bir jupyter not defterini başlattığınız ortamdan bağımsız olarak kullanılabilir olacaklardır. Bu aynı zamanda çevre seviyesinde başka bir 'python3' çekirdeği varsa, o zaman ona asla erişemeyeceğiniz anlamına gelir.
Bana göre, not defterini başlattığınız ortamdan 'python3' çekirdeğini seçmenin Python'u bu ortamdan yürütmesi daha mantıklı.
İşletim sisteminiz için Env arama yoluna bakarak başka bir 'python3' ortamınızın olup olmadığını kontrol edebilirsiniz (yukarıdaki dokümanların bağlantısına bakın). Benim için (mac bilgisayarımda) aşağıdaki komutu verdim:
ls /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels
Gerçekten de orada listelenen bir 'python3' çekirdeği vardı.
Sayesinde bu GitHub sorunu comment (ilk tepki bakmak), aşağıdaki komutla Kullanıcı python3 'çevreyi kaldırabilirsiniz:
jupyter kernelspec remove python3
Şimdi çalıştırdığınızda jupyter kernelspec list
, test_env'nin hala aktif olduğunu varsayarak, aşağıdakileri alacaksınız:
python3 /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels/python3
Bu yolun test_env dizininde bulunduğuna dikkat edin. Yeni bir ortam oluşturursanız, jupyter'ı yükler, etkinleştirir ve çekirdekleri listelerseniz, ortam yolunda başka bir 'python3' çekirdeği alırsınız.
Kullanıcı 'python3' çekirdeği, Env 'python3' çekirdeklerinden herhangi birine göre öncelikliydi. Bunu kaldırarak, aktif ortam 'python3' çekirdeği ortaya çıkarıldı ve her seferinde seçilebildi. Bu, el ile çekirdek oluşturma ihtiyacını ortadan kaldırır. Ayrıca, kendilerini tek bir ortama ayırmak isteyecekleri yazılım geliştirme açısından da daha mantıklıdır. Ana bilgisayar ortamından farklı bir çekirdek çalıştırmak doğal görünmüyor.
Ayrıca bu Kullanıcı 'python3' varsayılan olarak herkes için yüklenmemiş gibi görünüyor, bu yüzden herkes bu sorunla karşı karşıya değil.
conda install ipykernel
O ortamda koş .