আমি প্রত্যেকে দেখতে পাচ্ছি কীভাবে এটি অদ্ভুত অনুলিপি ইত্যাদি দিয়ে ঠিক করতে হয়, তবে সমস্যাটি কেন ঘটে তা সত্যই কেউ বলেনি ।
সুতরাং আমাকে ব্যাখ্যা করতে দিন, আপনারা যারা আমাকে পছন্দ করেন তারা কেবলমাত্র এসও-তে থাকা কোনও ব্যক্তি তাদের এ কারণেই বলেছিলেন কারণ তারা ফাইল ফাইলগুলির সাথে গোলযোগ করতে চান না।
সমস্যা হল যে:
- অনেকগুলি সিস্টেমে স্ক্রিপ্টগুলিতে পাইথন 3 শেবাং হার্ডকোডযুক্ত রয়েছে। আপনি নিজে এটি পরীক্ষা করতে পারেন:
~$ grep -R "\#\!/usr/bin/python3" /usr/lib/*
/usr/lib/cnf-update-db:
/usr/lib/command-not-found:
/usr/lib/cups/filter/pstotiff:
/usr/lib/cups/filter/rastertosag-gdi:
grep: /usr/lib/cups/backend/cups-brf: Permission denied
/usr/lib/cups/backend/hpfax:
/usr/lib/language-selector/ls-dbus-backend:
/usr/lib/python3/dist-packages/language_support_pkgs.py:
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:
/usr/lib/python3/dist-packages/cupshelpers/installdriver.py:
/usr/lib/python3/dist-packages/cupshelpers/openprinting.py:
/usr/lib/python3/dist-packages/cupshelpers/xmldriverprefs.py:
/usr/lib/python3/dist-packages/cupshelpers/smburi.py:
/usr/lib/python3/dist-packages/cupshelpers/ppds.py:
/usr/lib/python3/dist-packages/cupshelpers/debug.py:
/usr/lib/python3/dist-packages/DistUpgrade/dist-upgrade.py:
/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py:
/usr/lib/python3/dist-packages/CommandNotFound/db/db.py:
/usr/lib/python3/dist-packages/Quirks/quirkreader.py:
grep: /usr/lib/ssl/private: Permission denied
/usr/lib/system-service/system-service-d:
/usr/lib/ubuntu-release-upgrader/check-new-release-gtk:
/usr/lib/ubuntu-release-upgrader/do-partial-upgrade:
/usr/lib/ubuntu-release-upgrader/check-new-release:
/usr/lib/update-notifier/package-data-downloader:
/usr/lib/update-notifier/backend_helper.py:
/usr/lib/update-notifier/apt_check.py:
/usr/lib/update-notifier/apt-check:
- পাইথন অ্যাপ্ট প্যাকেজ
python-apt
/ python3-apt
এটি একটি সিস্টেম প্যাকেজ, সুতরাং এটি ডিফল্ট সিস্টেম পাইথনের জন্য
সুতরাং, স্ক্রিপ্টগুলি সর্বদা সংস্করণটি বর্তমানে লিঙ্কযুক্ত পাবে python3
, তবে ব্যর্থ হয়েছে কারণ এপ প্যাকেজ উপস্থিত নেই।
সাধারণ সমাধান: ডিফল্ট python3
লিঙ্কটি কখনও পরিবর্তন করবেন না । কখনও। এটি python
লিঙ্কটিতেও প্রযোজ্য - যদি কোনও অ্যাপ পাইথন 2 তে কিছু পুরানো বাক্য গঠন উপাদানগুলির সাথে লিখিত হয় যা পাইথন 3 এ কাজ করে না, অ্যাপটি কাজ করবে না।
[আমার টার্মিনালটি সেভাবেই ভেঙে গেছে কারণ আমি টার্মিনেটরটি ব্যবহার করি যা স্পষ্টত পাইথন 2.7 তে লিখিত আছে পাইথন 3 এর সাথে সামঞ্জস্যপূর্ণ নয়।]
এখানে উপস্থাপিত সমাধানগুলি হয় অ্যাপল প্যাকেজ ফাইলগুলি অনুলিপি করা / লিঙ্ক করা বা python3
লিঙ্ক পরিবর্তন করার পরামর্শ দেয়।
আসুন উভয় বিশ্লেষণ করুন:
- অ্যাপ্লিকেশন প্যাকেজটি অনুলিপি / লিঙ্ক করা
এই করা উচিত নয় একটি সমস্যা কারণ Python3.4 থেকে প্রাপ্ত সমস্ত পাইথন স্ক্রিপ্ট পাশাপাশি নতুন সংস্করণে কাজ করা।
যতদূর. তবে ভবিষ্যতে এটি ভেঙে যেতে পারে - যদি আপনি আপনার সিস্টেমটিকে দীর্ঘায়িত করেন।
python3
ফিরে লিঙ্ক পরিবর্তন
এটি একটি দুর্দান্ত সমাধান কারণ আমরা "লিঙ্কটি কখনই পরিবর্তন করব না" তে ফিরে যেতে পারি
"তবে আমি শুধু টাইপ করতে পছন্দ করি python
!" - আমারও ভাল লাগে! এই সমস্যাটি আমি প্রথম জায়গায় পেয়েছি!
সাধারণভাবে, আপনার ম্যানুয়ালি সিস্টেমের লিঙ্কগুলি পরিবর্তন করা উচিত - update-alternatives
বিভিন্ন সংস্করণে লিঙ্ক করার পরিবর্তে ব্যবহার করুন । এটি বহু সংস্করণ সহ যে কোনও অ্যাপ্লিকেশনটিতে প্রযোজ্য। এটি এখনও সেই সিস্টেমের স্ক্রিপ্টগুলি ভেঙে ফেলবে (কারণ এটি লিঙ্কটি পরিবর্তন করে) তবে আপনি লিঙ্ক এবং গন্তব্যটি সঠিক ক্রমে রেখেছেন বা টাইপ বানিয়েছেন কিনা তা চিন্তা না করে আপনি সহজেই পিছনে পিছনে স্যুইচ করতে পারেন।
আপনার লিঙ্ক বা উপন্যাসের জন্য python
/ বাদে অন্য নাম ব্যবহার বিবেচনা করুন python3
।
অথবা সিস্টেমের লিঙ্কগুলি পরিবর্তন না করে আপনার নিজস্ব python
/ python3
লিঙ্কটি PATH এ যুক্ত করুন (ঠিক ভার্চুয়াল পরিবেশের মতো)।