উবুন্টু 18.04 এ আপগ্রেড করার পরে কীভাবে সুরক্ষিতভাবে পাইথন 3 এ স্যুইচ করবেন


14

যেহেতু python3উবুন্টু 18.04-তে ডিফল্ট অজগর সংস্করণ এবং python2একটি তাজা উবুন্টু 18.04 ইনস্টলেশন ডিফল্টরূপে প্রেরণ করা হবে না, আমি কীভাবে python3উবুন্টু 18.04 (16.04 থেকে) এ আপগ্রেড করার পরে ডিফল্ট করতে পারি । বর্তমানে, এটি আপগ্রেড করার python2পরেও ত্রুটিযুক্ত (যেমন pythonকমান্ড নির্দেশ দেয় python2ইত্যাদি)। তবে, pythonপ্যাকেজটি মুছে ফেলার ফলে এটি নির্ভর করে এমন অনেকগুলি প্যাকেজ মুছে ফেলা হবে, সুতরাং এটি এখানে বিকল্প নয়।

আদর্শভাবে, আমি python2যতটা সম্ভব নির্ভরতা সরাতে চাই । সম্ভবত আপগ্রেড প্রক্রিয়াটি এমনভাবে ডিজাইন করা যেতে পারে যাতে এটি সমস্ত প্যাকেজগুলি পরীক্ষা করে, তারা এখনও সত্যিকারের নির্ভরতার উপর python2নির্ভর করে এবং এর python2মাধ্যমে সমতুল্য python3নির্ভরতা দ্বারা প্রতিস্থাপিত হতে পারে এমন সমস্ত নির্ভরতা সংগ্রহ করে (যা তখন আপগ্রেডের মাধ্যমে সমাধান করা হবে)।


দয়া করে নতুন শব্দটি পরীক্ষা করুন। আপনি যা জিজ্ঞাসা করেছিলেন তা পূর্ববর্তীটি কিছুটা অস্পষ্ট ছিল। আপনার পোস্টের শিরোনাম থেকে এটি বাছাই করার চেষ্টা করেছি।
জুয়ান আন্তোনিও

@ জুয়ান অ্যান্টোনিও সম্পাদনা করার জন্য অনেক ধন্যবাদ। এগুলির বেশিরভাগ সম্পাদনা দেখতে ভাল লাগে। এই প্রশ্নগুলি সঠিক দিকনির্দেশে পেতে আরও কিছু সংশোধন করে।
জাজি

এটি কি নিরাপদ, অজগর 2 সরানোর বা এটি ছেড়ে দেওয়ার শেষ কী is যদি সেখানে থাকে তবে কিছু প্রয়োজন!
জর্জ উদোসেন

2
বাস্তবে পাইথন 2 ডিফল্টরূপে 18.04-তে ইনস্টল করা হয় না, সুতরাং আপনার যদি এটি থাকে তবে এটি কিছু অতিরিক্ত প্যাকেজ ইনস্টল করার কারণে (বা ইতিমধ্যে ইনস্টলড প্যাকেজগুলির সাথে একটি আপগ্রেড করেছিলেন), যার জন্য এখনও পাইথন 2 প্রয়োজন That 3.x ডিফল্ট সংরক্ষণাগারে ২.x ব্যবহার করার মতো আর কোনও জিনিস নেই এর অর্থ এই নয়। 20.04 অবশ্যই অজগর 2.x আর কোনও হবে না, কারণ এটি আর এই মুহুর্তে প্রবাহ দ্বারা সমর্থিত হবে না।
dobey

"পাইথন 2 অপসারণের শেষ কী" - একটি বরং পরিষ্কার সিস্টেম। আমার অজগর স্থাপনাগুলি যেখানে আপগ্রেড হওয়ার পরে কোনওভাবে ভেঙে গেছে।
জাজি

উত্তর:


15

এই পোস্টটি কিছুটা পুরানো, তবে আমি বিশ্বাস করি এর থেকে আরও ভাল বিকল্প রয়েছে: প্রবেশ করান update-alternatives। নিম্নলিখিতটি আপনার /usr/bin/pythonডিফল্টটিকে ২.7 এ সেট করবে তবে আপনি যখন চান 3.6 উপলভ্য থাকবে:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 20
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 10

এখানে সর্বাধিক অগ্রাধিকারটি "স্বয়ংক্রিয়" পছন্দ হিসাবে ব্যবহৃত হয় /usr/bin/pythonতবে আপনি সহজেই দৌড়ে সুইচ করতে পারেন sudo update-alternatives --config python


1
চমৎকার উত্তর. আমার ক্ষেত্রে পাইথন ২..7 নোডেজ / এনপিএম দ্বারা ইনস্টল করা হয়েছিল এবং কোনওভাবে এটির জন্য ডিফল্ট হিসাবে সেট করা হয়েছিল python। আমি sudo update-alternatives --remove-all pythonসমস্ত অজগর সরিয়ে ফেলতাম, এবং তারপরে আমি ব্যবহার করতে চাই এমন একমাত্র অজগরটি যুক্ত করেছিলাম sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10। এছাড়াও জেনে রাখা ভাল sudo update-alternatives --list pythonকি কি তা দেখতে হয়।
ফিল্মশেম

1
sudo apt install python3-pipsudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10
ড্যানিয়েল

11

পাইথন 2 সম্পূর্ণরূপে অপসারণ করতে আপনার python2.x-minimalদ্বারা প্যাকেজটি মুছে ফেলতে হবে

sudo apt purge python2.x-minimal

আপনার সিস্টেমে অজগর 2 এর সঠিক সংস্করণ সহ এক্সকে প্রতিস্থাপন করা। তবে অন্যান্য প্যাকেজগুলি কীভাবে প্যাকেজগুলি বহন করেছে তা আপগ্রেড করার পরেও পাইথন 2 এর উপর নির্ভর করে এবং কীভাবে প্যাকেজগুলি আনইনস্টল হয়ে যাবে এবং কাজ করা বন্ধ করে দেবে তা নিশ্চিত করে দেখুন।


'ডিফল্ট' পাইথন ইন্টারপ্রেটারের মতো জিনিস নেই কারণ এটি ঠিক নির্ভর করে কোন প্রকৃত ফাইলটি /usr/bin/pythonনির্দেশ করে, অজগরকে এটি পরিবর্তন lnকরতে লিংকটি আপডেট করার জন্য কমান্ডটি ব্যবহার করুন, উদাহরণস্বরূপ বলি আপনি এটি পাইথন ৩.6 নির্দেশ করতে চান

sudo ln -sfn /usr/bin/python3.6 /usr/bin/python

বিকল্পভাবে, আপনি যদি কেবল এটি আপনার ব্যবহারকারীর জন্য চান তবে এটি আপনার নিজের নাম হিসাবে সেট করতে পারেন .bashrc, এটি ~/.bashrcকরতে আপনার পছন্দসই সম্পাদকটি খুলুন এবং নীচের লাইনটি যুক্ত করুন

alias python='python3.6' 

"আপনি যেমন প্যাকেজগুলি বহন করে থাকতে পারেন যা আপগ্রেডের পরেও অজগর 2 এর উপর নির্ভর করে" <- হ্যাঁ, এবং আমার উদ্দেশ্য এই নির্ভরতা থেকে মুক্তি পাওয়ার পক্ষে এটি প্রয়োজনীয় নয় কারণ উবুন্টু 18.04 python2ডিফল্টটি ব্যবহার করে নির্ভরতা ছাড়াই তাদের চালায় since python3নির্ভরতা / প্যাকেজ।
জাজি

1
এটি কি নিরাপদ, অজগর 2 সরানোর বা এটি ছেড়ে দেওয়ার শেষ কী is যদি সেখানে থাকে তবে কিছু প্রয়োজন!
জর্জ উদোসেন

0

আমার 16.04 /usr/bin/pythonএ কেবল একটি লিঙ্ক /usr/bin/python2.7তাই আমি ধরে নিচ্ছি আপনাকে কেবল এই লিঙ্কটি নির্দেশ করতে হবে /usr/bin/python3.x( xঅবশ্যই পর্যাপ্ত পর্যায়ে )।


আপনি ইঙ্গিতও করতে /usr/bin/pythonপারেন /usr/bin/python3, যা সর্বশেষ পাইথন 3 ইনস্টল করা সংস্করণের লিঙ্ক। অথবা আপনার একটি উপনাম বা একটি ফাংশন ~/.bashrc। বিকল্পগুলির
অনেকগুলি

না, আমার ধারণা, আমি এখানে যা করতে চাই তা আসলে এটি নয়। আমি python2আমার সিস্টেমে মুক্তি পেতে চাই (যেমনটি একটি নতুন উবুন্টু 18.04 ইনস্টল করার সময় এটি পূর্বনির্ধারিত কেস, যেখানে python3ডিফল্ট এবং python2প্রতি ডিফল্ট ইনস্টল করা হয় না)
জাজি

2
@ জাজী আমি শুদ্ধ করার পরামর্শ দিচ্ছি না python2। দেখে মনে হচ্ছে এটির উপর নির্ভর করে আরও অনেক প্যাকেজ রয়েছে। python2ইনস্টল রেখে আপনার কোনও অসুবিধা আছে কি?
কেভ ইনস্কি

আমার কোনও অসুবিধাগুলি python2ইনস্টল করা নেই, যদি সত্যিই প্রয়োজন হয় তবে আমি স্পষ্টতই python3ডিফল্ট হিসাবে সেট করতে চাই , python2যত তাড়াতাড়ি সম্ভব মুছে ফেলুন (এবং উবুন্টু 18.04 এর একটি পরিষ্কার ইনস্টলটি প্রমাণ করে যে এটি সম্ভব)।
জাজি

আসলে এটা করে।
কেভ ইনস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.