সংক্ষিপ্তসার (tldr)
যদি আপনি 'পাইথন 3' কার্নেলটি যেখানে পরিবেশিত হয় সেখান থেকে সর্বদা পাইথন ইনস্টলেশন চালিত করতে চান তবে ব্যবহারকারী 'পাইথন 3' কার্নেলটি মুছুন, যা বর্তমান পরিবেশের সাথে যা কিছু আছে তার চেয়ে বেশি অগ্রাধিকার গ্রহণ করছে:
jupyter kernelspec remove python3
সম্পূর্ণ সমাধান
আমি নিম্নলিখিত ক্ষেত্রে একটি বিকল্প এবং সহজ সমাধান পোস্ট করতে যাচ্ছি:
- আপনি একটি কনডা পরিবেশ তৈরি করেছেন
- এই পরিবেশে জুপিটার ইনস্টল করা আছে (এটি আইপিকারেলও ইনস্টল করে)
- আপনি যখন কমান্ডটি চালান
jupyter notebook
এবং 'নতুন' ড্রপডাউন মেনুতে 'পাইথন 3' ক্লিক করে একটি নতুন নোটবুক তৈরি করেন, সেই নোটবুকটি বর্তমান পরিবেশ থেকে নয় বেস পরিবেশ থেকে পাইথন চালায়।
- আপনি এটি পছন্দ করতে পারেন যাতে যে কোনও পরিবেশের মধ্যে 'পাইথন 3' দিয়ে একটি নতুন নোটবুক চালু করা সেই পরিবেশ থেকে পাইথন সংস্করণ কার্যকর করে এবং বেসটি নয়
আমি বাকি সমাধানের জন্য পরিবেশের জন্য 'test_env' নামটি ব্যবহার করতে যাচ্ছি। এছাড়াও, লক্ষ করুন যে 'পাইথন 3' কার্নেলের নাম।
বর্তমানে শীর্ষ-ভোট প্রাপ্ত উত্তরগুলি কাজ করে তবে একটি বিকল্প রয়েছে। এটি নিম্নলিখিতগুলি করতে বলে:
python -m ipykernel install --user --name test_env --display-name "Python (test_env)"
আপনি যে পরিবেশ jupyter notebook
থেকে আরম্ভ করবেন তা বিবেচনা ছাড়াই এটি আপনাকে টেস্ট_এনভ পরিবেশ ব্যবহারের বিকল্প দেয় । তবে, 'পাইথন 3' দিয়ে একটি নোটবুক চালু করা এখনও বেস পরিবেশ থেকে পাইথন ইনস্টলেশনটি ব্যবহার করবে।
সম্ভবত যা ঘটছে তা হ'ল এখানে একটি পাইথন 3 কার্নেল উপস্থিত রয়েছে। jupyter kernelspec list
আপনার সমস্ত পরিবেশের তালিকা তৈরি করতে কমান্ডটি চালান । উদাহরণস্বরূপ, আপনার যদি ম্যাক থাকে তবে আপনাকে নিম্নলিখিতটি ফিরিয়ে দেওয়া হবে (আমার ব্যবহারকারীর নাম টেড)।
python3 /Users/Ted/Library/Jupyter/kernels/python3
জুপিটার এখানে যা করছে তা কর্নেলগুলির সন্ধানে তিনটি পৃথক পাথ অনুসন্ধান করছে। এটি ব্যবহারকারী থেকে এনভিতে , সিস্টেমে যায় । প্রতিটি অপারেটিং সিস্টেমের জন্য যে পাথগুলি অনুসন্ধান করে সেগুলি সম্পর্কে আরও বিশদের জন্য এই দস্তাবেজটি দেখুন ।
উপরের দুটি কর্নেল উভয়ই ব্যবহারকারীর পথে রয়েছে, যার অর্থ আপনি কোনও জ্যুপির নোটবুক যে পরিবেশ থেকে শুরু করেছেন তা নির্বিশেষে এগুলি উপলব্ধ থাকবে। এর অর্থ হ'ল যদি পরিবেশ পর্যায়ে অন্য 'পাইথন 3' কার্নেল থাকে তবে আপনি কখনই এটি অ্যাক্সেস করতে পারবেন না।
আমার কাছে এটি আরও বোধগম্য হয় যে আপনি যে পরিবেশ থেকে নোটবুকটি চালু করেছেন সেই পরিবেশ থেকে 'পাইথন 3' কার্নেলটি বেছে নেওয়ার পরে সেই পরিবেশ থেকে পাইথন চালানো উচিত।
আপনার ওএসের জন্য এনভ সার্চ পাথটি দেখে উপরের 'ডাইথন 3' পরিবেশ আছে কিনা তা পরীক্ষা করতে পারেন (উপরের ডক্সের লিঙ্কটি দেখুন)। আমার জন্য (আমার ম্যাকে), আমি নিম্নলিখিত আদেশটি জারি করেছি:
ls /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels
এবং আমি সত্যিই সেখানে একটি 'পাইথন 3' কার্নেল তালিকাবদ্ধ ছিল।
এই গিটহাব ইস্যু মন্তব্যের জন্য ধন্যবাদ (প্রথম প্রতিক্রিয়াটি দেখুন), আপনি নিম্নলিখিত কমান্ডের সাহায্যে ব্যবহারকারী 'পাইথন 3' পরিবেশটি অপসারণ করতে পারেন:
jupyter kernelspec remove python3
এখন যখন আপনি চালাবেন jupyter kernelspec list
, ধরে নিবেন যে টেস্ট_এনভি এখনও সক্রিয় আছে, আপনি নিম্নলিখিত পাবেন:
python3 /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels/python3
লক্ষ্য করুন যে এই পথটি test_env ডিরেক্টরিতে অবস্থিত। আপনি যদি একটি নতুন পরিবেশ তৈরি করেন, জুপিটার ইনস্টল করুন, এটি সক্রিয় করুন এবং কার্নেলগুলি তালিকাবদ্ধ করুন, আপনি পরিবেশের পথে অবস্থিত অন্য একটি 'পাইথন 3' কার্নেল পাবেন।
ব্যবহারকারী 'পাইথন 3' কার্নেল এনভ 'পাইথন 3' কার্নেলের যে কোনওটির চেয়ে অগ্রাধিকার নিয়েছিল। এটি অপসারণ করে সক্রিয় পরিবেশ 'পাইথন 3' কার্নেলটি উন্মুক্ত হয়েছিল এবং প্রতিবারই এটি চয়ন করতে সক্ষম হয়েছিল। এটি ম্যানুয়ালি কার্নেলগুলি তৈরি করার প্রয়োজনকে দূর করে। এটি সফ্টওয়্যার বিকাশের ক্ষেত্রে আরও বোধগম্য হয় যেখানে কেউ নিজেকে একটি পরিবেশে বিচ্ছিন্ন করতে চায়। হোস্ট পরিবেশের চেয়ে আলাদা কার্নেল চালানো স্বাভাবিক মনে হয় না।
এটিও মনে হয় যে এই ব্যবহারকারী 'পাইথন 3' ডিফল্টরূপে প্রত্যেকের জন্য ইনস্টল করা নেই, তাই সকলেই এই সমস্যার মুখোমুখি হন না।
conda install ipykernel
যে পরিবেশে।