পাইথনের ইজি_ইনস্টল দিয়ে ইনস্টল করা প্যাকেজগুলি কীভাবে সরিয়ে ফেলব?


704

পাইথনগুলি easy_installনতুন প্যাকেজগুলি ইনস্টল করা অত্যন্ত সুবিধাজনক করে তোলে। তবে যতদূর আমি বলতে পারি, এটি নির্ভরতা পরিচালকের অন্যান্য সাধারণ বৈশিষ্ট্যগুলি প্রয়োগ করে না - ইনস্টলড প্যাকেজগুলি তালিকাভুক্ত এবং অপসারণ করে।

কী ইনস্টল হয়েছে তা সন্ধান করার সর্বোত্তম উপায় কী এবং ইনস্টলড প্যাকেজগুলি সরানোর পছন্দের উপায় কী? আমি ম্যানুয়ালি প্যাকেজগুলি মুছে ফেললে (যেমন দ্বারা rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.eggবা অনুরূপ) কোনও ফাইল আপডেট করার দরকার আছে ?


67
আমি এই মন্তব্যটি লেখার সময় এই পোস্টটি প্রায় 2 বছর পুরানো। পিপ এখন কার্যকরভাবে ইজি_ ইনস্টল এর প্রতিস্থাপন এবং সঠিকভাবে এবং পরিষ্কারভাবে পরে ইনস্টল করা প্যাকেজগুলি (ডিম অন্তর্ভুক্ত) মুছে ফেলতে পারে। দয়া করে উত্তরটি থ্রেডের নিচে আরও সাজিয়ে পরামর্শ দেওয়ার চেষ্টা করুন।
মাইকেল একোকা

53
বিরোধাভাস যে কিছু বলা "easy_install" - না উত্তর: একটি সহযোগীর আছে easy_uninstall, কিংবা বি কিভাবে এক এটি করতে পারেন মধ্যে উল্লেখ করতে বিরক্ত --help- আমার মন boggles / _infuriates আমার প্রাণ / আমার হৃদয় দুশ্চিন্তা
অ্যালেক্স গ্রে

13
@ মাইকে যদি আমি পাইপ আনইনস্টল করার চেষ্টা করি? (:
এমসিসিসি

উত্তর:


621

পিপ , একটি বিকল্প setuptools থেকে / easy_install একটি "আনইনস্টল" কমান্ড প্রদান করে।

ইনস্টলেশন নির্দেশাবলী অনুযায়ী পিপ ইনস্টল করুন :

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

তারপরে আপনি pip uninstallইনস্টল থাকা প্যাকেজগুলি সরাতে ব্যবহার করতে পারেনeasy_install


25
যদি আপনি পাইপের সাথে মডিউলগুলি আনইনস্টল করার সমস্যায় পড়ে থাকেন তবে নিশ্চিত হন যে আপনার পাইপ ইনস্টলেশনটি নিজেই আপ টু ডেট আছে: পিপ ইনস্টল করুন-ইউ পিপ # এটি একটি বড় হাতের ইউ
মাইকেল একোকা

4
পাইপ একটি সহজ_ইনস্টল ইনস্টল করা প্যাকেজ আনইনস্টল করার জন্য আমার পক্ষে কাজ করেছিল। যদিও প্যাকেজের সমস্ত সংস্করণ সরানোর জন্য আমাকে একাধিকবার 'পিপ আনইনস্টল <প্যাকেজ>' চালাতে হয়েছিল। সুতরাং, এটা মনে রেখো। এমনকি এটি একটি 'বিকাশযোগ্য' ইনস্টল করা প্যাকেজও সরিয়ে ফেলেছে, যা ফলস্বরূপ এক ধরণের গোলযোগ ছিল।
ড্রাগনফ্যাক্স

2
তবে আপনি কীভাবে অ-সক্রিয় প্যাকেজটি
মুছবেন

7
Easy_install ইনস্টলগুলি আনইনস্টল করতে আমি পাইপ ইনস্টল করতে ইজিবিল-ইনস্টল ব্যবহার করেছি।

2
উত্তরটি "পাইপ ইনস্টল করুন" বলেছে, তবে বাস্তবে পাইপটি আধুনিক পাইথনের সাথে নির্মিত বলে মনে হচ্ছে
এডওয়ার্ড

188

কোনওটিকে আনইনস্টল .eggকরতে rm -rfআপনার ডিমের প্রয়োজন (এটি একটি ডিরেক্টরি হতে পারে) এবং এর থেকে ম্যাচিং লাইনটি সরিয়ে ফেলুনsite-packages/easy-install.pth


18
নতুন pipপ্যাকেজ পরিচালকের একটি আনইনস্টল বৈশিষ্ট্য অন্তর্ভুক্ত।
জোফোরকার

আমি পাইপগুলি আরও আনইনস্টল করার পরে আরও ভাল পাই কারণ উত্স থেকে পাইপ ইনস্টল। আপনি যদি আমার মতো একটি নতুন উইন
bit৪

6
কিছু ব্যবহার পিপ-এর পুরানো সংস্করণে আটকে আছে যার আনইনস্টল বিকল্প নেই, তাই এই উত্তরটির এখনও মূল্য রয়েছে।
পিচলেস

5
সম্ভবত এটি উল্লেখযোগ্য যে এই পদ্ধতিটি সিস্টেমে বিপথগামী data_filesএবং scripts(এবং সম্ভবত অন্যান্য ফাইল বিভাগ) ছেড়ে যেতে পারে। ডিমের EGG-INFO/SOURCES.txtমধ্যে সমস্ত packageফাইলের একটি তালিকা রয়েছে এবং sourcesতা নয় data_files, যা আপনার সিস্টেমে যেকোন স্বেচ্ছাসেবক ডিরেক্টরিতে ইনস্টল করা যেতে পারে ...
অ্যালেক্স লিচ

পিপ সবসময় কী ইজি-ইনস্টল ইনস্টল করে তা সরান না। এখানে একটি সামান্য অভিজ্ঞতা যা ঠিক আমার সাথে ঘটেছিল যেখানে পাইপ আমার একটি মডিউল আনইনস্টল করতে অক্ষম ছিল। এটি সম্পূর্ণ আনইনস্টল করতে আমাকে সাইট-প্যাকেজগুলি / ইজি-ইনস্টল.পিথ থেকে ম্যাচিং লাইনটি সরিয়ে ফেলতে হয়েছিল।
ychaouche

158

প্রথমে আপনাকে এই আদেশটি চালাতে হবে:

$ easy_install -m [PACKAGE]

এটি প্যাকেজের সমস্ত নির্ভরতা অপসারণ করে।

তারপরে সেই প্যাকেজের ডিম ফাইলটি সরান:

$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg


-mআমি যতদূর বলতে পারি কিছুই মুছে ফেলার জন্য উপযুক্ত ইজিন-ইনস্টল কমান্ড নয়, তবে এই উত্তরটি ইজি_ ইনস্টল প্যাকেজগুলির গুরুত্বপূর্ণ অবস্থান দেয় যা অন্য উত্তর দেয় না। একটি rm -rf /usr/local/lib/python*পিপ ইনস্টল করার পূর্বে আমার মনে হচ্ছে এটা যেতে উপায়
fuzzyTew

55

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

  • আপনার অপসারণ ব্যবহার প্রয়োজন:

    pip uninstall <package>

    (ব্যবহার করে ইনস্টল easy_install pip)

  • আপনার 'তালিকাভুক্ত ইনস্টলড প্যাকেজগুলির জন্য প্রয়োজন হয় ব্যবহার করুন:

    pip freeze

    বা:

    yolk -l

    যা আরও প্যাকেজ বিশদ আউটপুট করতে পারে।

    (মাধ্যমে ইনস্টল করুন easy_install yolkবা pip install yolk)


দৌড়ানোর পরে yolk -l, আমি দেখতে পাচ্ছি যে আমার কাছে "স্কিপি -0.11.0 -নন-অ্যাক্টিভ ডেভলপমেন্ট" এবং "স্কিপি -0.14.0 ... -অ্যাক্টিভ বিকাশ" এর মতো নকল প্যাকেজ রয়েছে। আমি কীভাবে এই অ-সক্রিয় উন্নয়ন প্যাকেজগুলি আনইনস্টল করতে পারি?
bobijoe93

2
আমি ইজ_ইনস্টল দ্বারা ইনস্টল করা পাইপ আনইনস্টল করতে চাই ব্যতীত এটি ভাল। এটি কারণ এটি এটি ভুল পাইথন সংস্করণে ইনস্টল করা শেষ হয়েছিল।
নাগেভ

28

আছে বিভিন্ন নেট -m বিকল্প প্যাকেজ পুনরায় ইনস্টল এবং তারপর মাত্র liberal এর সংক্ষিপ্ত রূপ মধ্যে .egg ফাইল মুছে ফেলার / এবং বিন / এ বাইনেরিতে দ্বারা একটি হ্যাক পরামর্শ উপর উত্স। এছাড়াও, সেটআপটুলস ইস্যু সম্পর্কে আলোচনাটি পাইথন বাগ ট্র্যাকারটিতে সেটআপলগুলি 21 ইস্যু হিসাবে পাওয়া যাবে ।

সম্পাদনা: পাইথন বাগট্র্যাকারের সাথে লিঙ্কটি যুক্ত করা হয়েছে।


2
এই তথ্যের জন্য ধন্যবাদ। অন্যের রেফারেন্সের জন্য, আপনি যে সমস্যার উল্লেখ করেছেন তার লিঙ্কটি এখানে: bugs.python.org/setuptools/issue21
ire_and_curses

25

যদি সমস্যাটি আপনার কাছে মারাত্মকভাবে বিরক্ত হয় তবে আপনি ভ্যুচুয়ালেনভ বিবেচনা করতে পারেন । এটি আপনাকে এমন একটি পরিবেশ তৈরি করতে দেয় যা অজগর লাইব্রেরিগুলিকে আবদ্ধ করে। আপনি সেখানে বিশ্বব্যাপী সাইট-প্যাকেজ ডিরেক্টরি না করে প্যাকেজ ইনস্টল করেন। সেই পরিবেশে আপনি যে কোনও স্ক্রিপ্ট চালাবেন সেগুলি প্যাকেজগুলিতে অ্যাক্সেস রয়েছে (এবং optionচ্ছিকভাবে, আপনার গ্লোবালগুলিও)। আমি প্যাকেজগুলির মূল্যায়ন করার সময় এটি প্রচুর ব্যবহার করি যা আমি বিশ্বব্যাপী ইনস্টল করতে চাই / চাই না। যদি আপনি সিদ্ধান্ত নেন যে আপনার প্যাকেজটির দরকার নেই, কেবলমাত্র সেই ভার্চুয়াল পরিবেশটি দূরে ফেলে দেওয়া যথেষ্ট সহজ easy এটি ব্যবহার করা বেশ সহজ। একটি নতুন vর্ষা তৈরি করুন:

$>virtualenv /path/to/your/new/ENV

ভার্চুয়াল_এনভিটি নতুন পরিবেশে আপনার জন্য সেটআপলগুলি ইনস্টল করে, তাই আপনি এটি করতে পারেন:

$>ENV/bin/easy_install

এমনকি আপনি নিজের বুস্ট্র্যাপ স্ক্রিপ্ট তৈরি করতে পারেন যা আপনার নতুন পরিবেশ সেটআপ করে। সুতরাং, একটি কমান্ডের সাহায্যে, আপনি একটি নতুন ভার্চুয়াল এনভিভি তৈরি করতে পারেন, বলুন, পাইথন ২.6, সাইসকপিজ ২ এবং জ্যাঙ্গো ডিফল্টরূপে ইনস্টল করা হয়েছে (আপনি চাইলে পাইথনের এনভি-নির্দিষ্ট সংস্করণ ইনস্টল করতে পারেন)।


$> কী? এটি কি প্রম্পট? হয়তো $ এ সংশোধন করা আরও সহায়ক হবে? ধন্যবাদ
গ্রে

18

অফিসিয়াল (?) নির্দেশাবলী: http://peak.telecommune.com/DevCenter/EasyInstall#uninstalling-packages

আপনি যদি অন্য সংস্করণ দিয়ে কোনও প্যাকেজ প্রতিস্থাপন করে থাকেন তবে কেবল প্যাকেজনাম-versioninfo.egg ফাইল বা ডিরেক্টরি (ইনস্টলেশন ডিরেক্টরিতে পাওয়া যায়) মোছার মাধ্যমে আপনার প্রয়োজনীয় প্যাকেজগুলি মুছতে পারেন।

আপনি যদি বর্তমানে প্যাকেজের ইনস্টলড সংস্করণটি (বা প্যাকেজের সমস্ত সংস্করণ) মুছতে চান তবে আপনার প্রথমে চালানো উচিত:

easy_install -mxN PackageName

এটি নিশ্চিত করবে যে পাইথন যে প্যাকেজটি অপসারণের পরিকল্পনা করছেন তার সন্ধান চালিয়ে যেতে না পারে। আপনি এটি করার পরে, আপনি মুছে ফেলতে চান এমন কোনও স্ক্রিপ্টের সাথে .egg ফাইল বা ডিরেক্টরিগুলি নিরাপদে মুছতে পারেন।


কিছু জিনিস কখনও পরিবর্তন হয় বলে মনে হয় না! পিআইপি একটি ট্র্যাক হ্যাক প্লাগইন (ট্র্যাক অ্যাডমিন) ইনস্টল করতে অস্বীকার করেছে, কেবল ইজিইনস্টল কাজ করে। তবে আমি দুর্ঘটনাক্রমে একটি পুরানো সংস্করণ ইনস্টল করেছি। এবং Easy_install প্রকল্পের https url থেকে এটি ঠিক করতে সক্ষম হয় নি। তাই আমি এটি মুছে ফেলার জন্য পিআইপি ব্যবহার করেছি, তবে পুনরায় ইনস্টল করার পরে ট্র্যাক প্লাগইন দেখতে পাচ্ছে না। সুতরাং আমি এখানে পিকেজি আলাদা করতে এবং ম্যানুয়ালি মুছে ফেলার জন্য তথ্যটি ব্যবহার করি, তারপরে পুনরায় ইনস্টল করুন। হালকা। (পাইথন ২.7)
রিচার্ড কুক


7

ইনস্টলড পাইথন প্যাকেজগুলির তালিকা করতে, আপনি এটি ব্যবহার করতে পারেন yolk -leasy_install yolkযদিও আপনাকে প্রথমে ব্যবহার করতে হবে ।


6

সময়ের সাথে সাথে ইনস্টল করা অনেক এলোমেলো পাইথন প্যাকেজ আনইনস্টল করার চেষ্টা করার সময় এই প্রশ্নটি এসেছে।

এই থ্রেড থেকে তথ্য ব্যবহার করে, এটিই আমি এনেছি:

cat package_list | xargs -n1 sudo pip uninstall -y

package_listA থেকে পরিষ্কার করা হয় (awk) pip freezeএকটি virtualenv হবে।

প্রায় সমস্ত পাইথন প্যাকেজ অপসারণ করতে :

yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y

<package_list xargs -n1 sudo pip uninstall -yএকটি UUOC এড়ানো!
হেইনি হাগনসন

3

আমি আমার ম্যাকস এক্স লিওপার্ড 10.6.blah তে একই সমস্যায় পড়েছি।

সমাধানটি ম্যাকপোর্টস পাইথনকে কল করছেন তা নিশ্চিত করার জন্য:

sudo port install python26
sudo port install python_select
sudo python_select python26
sudo port install py26-mysql

আশাকরি এটা সাহায্য করবে.


1
যাইহোক, আমি ম্যাকপোর্টস থেকে পুরোপুরি সরিয়ে নিয়েছি ম্যাক থেকে নেটিভ পাইথন ২.7। MySQLdb setup_tools মাধ্যমে ইনস্টল
Cmag

3

আমার জন্য কেবল এই ফাইলটি মুছে ফেলা: Easy-install.pth কাজ করেছে, বিশ্রামের পাইপ ইনস্টল করুন জ্যাঞ্জো == 1.3.7


1

এটি আমার পক্ষে কাজ করেছে। এটি পূর্ববর্তী উত্তরের মতো তবে প্যাকেজগুলির পথ পৃথক।

  1. sudo Easy_install -m
  2. সুডো আরএম -আরএফ / লাইব্রেরি / পাইথন / ২..7.০ / সাইট- প্যাকেজ / আইজিজি

প্লাটফর্ম: ম্যাকস হাই সিয়েরা সংস্করণ 10.13.3


1
প্রথম আদেশটি আমার জন্য এই ত্রুটিটি উত্পন্ন করে:error: No urls, filenames, or requirements specified (see --help)
মাইকেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.