আমি পাইপের মাধ্যমে ইনস্টল করা পাইথন প্যাকেজগুলি কীভাবে সনাক্ত করব এবং সরিয়ে ফেলব?


73

আমি দুর্ঘটনাক্রমে pipপরিবর্তে ব্যবহার করে আমার সিস্টেমে পাইথন প্যাকেজ ইনস্টল করেছি apt-get। আমি এটি দুটি উপায়ে করেছি:

  • ভার্চুয়ালেনভের একটি পুরানো সংস্করণ ব্যবহার করে, আমি ভার্চুয়ালেনভ --no-site-packagesতৈরি করার সময় সংযোজন করতে ভুলে গিয়েছিলাম - তারপরে যখন আমি ফোন করি pip install, পাইথন প্যাকেজগুলি যেখানে ভার্চুয়ালেনভের পরিবর্তে সিস্টেমে ইনস্টল করা হয়েছিল
  • সঠিকভাবে সেটআপের জন্য ভার্চুয়ালেনভ, আমি টাইপ করেছি sudo pip install somepackage- ভার্চুয়ালেনভের চেয়ে সিস্টেমে সুডো ইনস্টল করা হয়েছে

আমি এটি লক্ষ্য করেছিলাম কারণ আমি pip freezeএকটি ভার্চুয়ালেনভের বাইরে টাইপ করেছি এবং কিছু পাইথন প্যাকেজ তালিকাভুক্ত করেছি যা সেখানে না থাকা উচিত। সুতরাং এখন আমার প্রশ্ন:

  • সিস্টেমে ভ্রান্তভাবে ইনস্টল করা সমস্ত পাইথন প্যাকেজগুলি কীভাবে সনাক্ত করব (তা হল, পাইথন প্যাকেজগুলি যা pip freezeতালিকায় প্রদর্শিত হয় তবে ইনস্টল করা হয়নি apt-get)?
  • আমি এগুলি কীভাবে সরিয়ে দেব?

উত্তর:


56

উবুন্টু ওয়ানিরিক (এবং আমি আরও নতুন সংস্করণ আশা করি) এতে পাইপ প্যাকেজ ইনস্টল করে /usr/local/lib/python2.7/dist-packagesএবং এতে aptপ্যাকেজগুলি /usr/lib/python2.7/dist-packages। সুতরাং কেবলমাত্র পূর্ববর্তী ডিরেক্টরি এবং sudo pip uninstallআপনি খুঁজে পাওয়া প্রতিটি প্যাকেজ পরীক্ষা করে দেখুন।


12
আমি নির্মম হয়ে জারি করেছি sudo rm -r /usr/local/lib/python2.7। এ পর্যন্ত সব ঠিকই.
Apteryx

@ অ্যাপটারিক্স, আমি একই কাজটি করেছি /usr/local/lib/python3.5এবং কিছুক্ষণ পরে update-notifier-commonপাইথন 3 sixপ্যাকেজ হারিয়ে যাওয়ার কারণে প্যাকেজের একটি আপগ্রেড ব্যর্থ হয়েছিল । আমি sixসাথে ইনস্টল শেষ sudo -H pip3 install six
আলেক্সি

2
@ এপটারিক্স গড আপনাকে অভিশাপ! আমিও একই কাজ করেছি এবং এখন আমার পুরো সিস্টেমটি সব শেষ হয়েছে! কারণ উবুন্টুতে প্রায় সমস্ত কিছুই পাইথনের উপর নির্ভর করে!
ইউকশিমা হক্কে

আমি লক্ষ্য করেছি যে আমার কাছে এখন ভাঙ্গা এক্সিকিউটেবলের একগুচ্ছ রয়েছে /usr/local/bin/(কিছুক্ষণ আগে আমি সরিয়ে /usr/local/lib/python3.5দিয়ে কনডায় স্যুইচ করেছি )।
আলেক্সি

22

পিপ বর্তমানে আনইনস্টল কমান্ডগুলি উপেক্ষা করে যা ওএসের মালিকানাধীন কিছু আনইনস্টল করার চেষ্টা করে। এটি ত্রুটিযুক্ত হয় না, যেমন এটি অনুপস্থিত প্যাকেজটির সাথে করে। সুতরাং, এখন আপনি নিম্নলিখিত প্রক্রিয়াটি আনইনস্টল করতে পারেন:

pip freeze > dump.txt

কোনও -e"সম্পাদনযোগ্য ইনস্টল" লাইন, ==সাইন ( %s;==.*;;gভিমে) পরে সমস্ত কিছু সরিয়ে ফেলার জন্য ডাম্প করা ফাইলটি সম্পাদনা করুন , ফাঁকের জন্য নতুন লাইনগুলি ( ভিমে) স্যুপ করুন %s;\n; ;g। তারপরে আপনি সমস্ত অন-মালিকানাধীন প্যাকেজগুলির সাথে আনইনস্টল করতে পারেন

cat dump.txt | xargs sudo pip uninstall -y

আমাকে এই পদ্ধতিটি দু'বার করতে হয়েছিল, কারণ কয়েকটি প্যাকেজও ইনস্টল করা ~/.local/libহয়েছিল।


1
এটি আমার কাছে গ্রহণযোগ্য উত্তর হওয়া উচিত
নাম জি ভিইউ

3
যে কেউ একটি বিনা প্রতিবিম্বিত ওয়ান-লাইনার চায়:sudo pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
বেনোইট ডুফেজ

4
সাবধান হন! এটি আপনার ওএসের একটি বিশেষ সংস্করণ পাঠায় কিনা তার উপর নির্ভর করে pip। আর্চলিনাক্সে pipআনন্দের সাথে সিস্টেম প্যাকেজগুলি আনইনস্টল করে। অন্যদিকে, pipডেবিয়ান জেসি অভিযোগ ও ত্রুটিগুলিতে:Not uninstalling virtualenv at /usr/lib/python3/dist-packages, owned by OS
টমাস জি

1
আপনার কি সুডোর দরকার? - এটি অবশ্যই গ্রহণযোগ্য উত্তর হওয়া উচিত
জোনাথন

6

আমি যতদূর জানি sudo pip installইনস্টল হবে /usr/local/lib/pythonVERSION/dist-packages। আপনার sudo pip uninstallপ্রশস্ত প্যাকেজ সিস্টেম আনইনস্টল করতে চালানো দরকার । pip freezeদেখে মনে হচ্ছে প্যাকেজ মেটাডেটা অনুসন্ধান করা আছে এবং ইনস্টল থাকা যেকোনো কিছু যেমন পিপ থেকে পাশাপাশি ভার্চুয়ালেনভের বাইরে অ্যাপ্লিকেশন-এর তালিকা তৈরি করবে। নেই -lভার্চুয়াল পরিবেশ ভিতরে বিকল্প প্যাকেজ শুধু তাই ভার্চুয়াল পরিবেশ প্রযোজ্য তালিকা কিন্তু এটি ডিফল্ট ক্ষেত্রে পাশাপাশি ভিতরে ভার্চুয়াল পরিবেশ বলে মনে হয়। আমি মনে করি আপনি কেবলমাত্র সম্পর্কিত প্যাকেজগুলি মুছতে পারেন /usr/local/lib/pythonVERSION/dist-packagesতবে আমার ধারণা খুব সুবিধাজনক পদ্ধতি নয়।


5

পাইপের মাধ্যমে ইনস্টল হওয়া কোনও প্যাকেজ অপসারণ করতে, টার্মিনাল খোলার জন্য আপনার কীবোর্ডে Ctrl+ Alt+ টিপুন T। এটি খুললে নীচের কমান্ডটি চালান।

pip uninstall < package-name >

প্যাকেজ অনুসন্ধান করতে

pip search <package you want to search for>

কোন পাইথন প্যাকেজ পাইপ দ্বারা ইনস্টল করা হয়েছিল তা নির্ধারণ করার জন্য, freezeকমান্ড দ্বারা , যা আপনাকে ইনস্টল করা প্যাকেজ এবং তাদের সংস্করণগুলির একটি তালিকা দেবে। আমি সমস্ত দৃষ্টান্ত অপসারণ এবং sudo apt-getকমান্ডটি ব্যবহার করে পুনরায় ইনস্টল করার পরামর্শ দেব

sudo apt-get install python3

পাইপ দ্বারা কোন পাইথন প্যাকেজ ইনস্টল করা হয়েছিল, এবং কোনটি এপট-গেইসের মাধ্যমে নির্ধারণ করব? আমি এখনও pip uninstallযদি sudo pip installপ্রথম স্থানে ব্যবহার করতে পারি ?
ডেভিড.লিব্রেমন

@ d3vid pip freezeকেবল এটি ইনস্টল হওয়া প্যাকেজগুলি দেখায় (এএএফআইসিএস)।
অলি

1
@ অলিপি পিপ ফ্রিজ, কমপক্ষে সুনির্দিষ্টভাবে, অ্যাপ দ্বারা ইনস্টল করা প্যাকেজগুলিও তালিকাভুক্ত করে, যেমন অন্যান্য উত্তর এখানে বর্ণনা করে।
nealmcb

0

পাইথন প্যাকেজগুলি থেকে আমার নিরাপদে ডিস্কের স্থান পরিষ্কার করতে হবে। যদিও এটি সম্পূর্ণ প্যাকেজগুলির বাইরে পরিষ্কার নয়, আমার পাইথন সংস্করণগুলিও সরানো দরকার তাই আমার পুরানো প্যাকেজগুলির দরকার পড়েনি। আমি আমার প্যাকেজের সমস্ত নাম পেতে নিম্নলিখিত দুটি ব্যবহার করেছি, প্রথম 2 টি লাইন এড়িয়ে গিয়ে প্রথম কলামটি ধরলাম, এবং ব্যবহারকারীর মিথস্ক্রিয়া ছাড়াই আনইনস্টল করুন:

pip list | awk 'NR>2 {print $1}' | xargs -I {} pip uninstall -y {}

-2

এটি হোমব্রিউয়ের সাথে কিছু করার আছে। আমি হোমব্রু ইনস্টল না করে এবং কিছু জিনিস ব্যবহার না করা পর্যন্ত আমার ম্যাক এয়ারে পাইডবিসি নিয়ে কোনও সমস্যা নেই no আমি এই থ্রেডটি গিথুবটিতে পেয়েছি যা আমার জন্য কাজ করা একটি সমাধানে শেষ হয়।

"যদি আপনার হোমব্রু থাকে তবে কেবল ওডিবিসি শিরোনাম ইনস্টল করুন:

$ brew install unixodbc

এবং আবার "পিপ ইনস্টল পাইডবিসি" চালান। "

এই 100% আমার জন্য সমস্যাটি সমাধান করেছে এবং কেবল একটি মুহূর্ত নিয়েছিল। ইহাকে একটি লাথি দাও.


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