পিপ দ্বারা ইনস্টল করা সমস্ত প্যাকেজ সরানোর সহজতম উপায় কী?


612

আমি আমার একটি ভার্চুয়ালনেভস ঠিক করার চেষ্টা করছি - আমি ইনস্টল করা লাইব্রেরিগুলির সমস্তগুলিকে পুনর্নির্মাণ করতে চাই যা উত্পাদন মেলে match

পাইপ দিয়ে এটি করার কি দ্রুত এবং সহজ উপায় আছে?


10
@ পেটেলশাহরুখ পাইথ প্যাকেজগুলি সরিয়ে দেয় না অজগর আনইনস্টল করে। দয়া করে এড়িয়ে চলুন যে করছেন এরপর থেকে এটি উভয় সম্ভবত কাজ করবে না পথ আপনি কি মনে করেন এটা করবে, এবং , আপনি কিভাবে পাইথন আবার ইনস্টল উপর নির্ভর করে, একটি অস্থায়ী দশায় যে আপনার মেশিন চলে যাবে ফিক্স করার জন্য আরো কাজ
ব্লুবেরিফিল্ডস

এটি বিকাশ মোডে বা সম্পাদনাযোগ্য মোডে ইনস্টল হওয়া প্যাকেজগুলির জন্য সহায়তা করতে পারে: stackoverflow.com/questions/17346619/…
চার্লি পার্কার

উত্তর:


921

আমি এই স্নিপেটকে বিকল্প সমাধান হিসাবে পেয়েছি। এটি ভার্চুয়ালেনভের পুনর্নির্মাণের চেয়ে গ্রন্থাগারগুলিকে আরও মুগ্ধকর অপসারণ:

pip freeze | xargs pip uninstall -y

আপনি যদি ভিসিএসের মাধ্যমে প্যাকেজ ইনস্টল করে থাকেন তবে আপনাকে সেই লাইনগুলি বাদ দিতে হবে এবং ম্যানুয়ালি প্যাকেজগুলি অপসারণ করতে হবে (নীচের মন্তব্যগুলি থেকে উন্নত):

pip freeze | grep -v "^-e" | xargs pip uninstall -y

4
আমি এটি একটি ভাল সমাধান খুঁজে পাই, নিছক কারণ এটি সম্পূর্ণরূপে ভার্চুয়াল পরিবেশকে সরিয়ে দেয় না - আমি সম্ভবত পরিবর্তনগুলি করেছি যেমন postactivateযা থাকবে।
সুন্দরগাইডেভ

5
এটি চালানোর পরে আমি বুঝতে পারি এটি setuptoolsপ্যাকেজটি সরিয়েছে । আমি এখানে নির্দেশাবলীর নীচে নিম্নলিখিত সমস্যার সমাধান করেছি: স্ট্যাকওভারফ্লো.com
ড্যান

1
@ জার্টি 3000 হ্যাঁ, এটি (যেমন প্রশ্ন জিজ্ঞাসা করবে) ভার্চুয়াল-এনভায় ইনস্টল করা সমস্ত প্যাকেজ সরিয়ে ফেলবে। আপনার পরিবেশে, সম্ভবত সেটআপলগুলি তার পরিবর্তে কোনও বিশ্বব্যাপী ইনস্টল করা ভাল হবে?
ব্লুবেরিফিল্ডস

7
আপনি pip freeze --exclude-editable | xargs pip uninstall -yকোনও গ্রেপ প্যাটার্ন ব্যবহার না করে ভিসিএস প্যাকেজগুলি উপেক্ষা করতেও ব্যবহার করতে পারেন
কনার ব্রিনটন

2
এবং সম্পাদনযোগ্য প্যাকেজগুলি আনইনস্টল করতে স্ট্যাকওভারফ্লো.com
ড্যান ওক

317

এটি সমস্ত ম্যাক, উইন্ডোজ এবং লিনাক্স সিস্টেমের জন্য কাজ করবে। প্রয়োজনীয়তা.টিএসটি ফাইলের সমস্ত পাইপ প্যাকেজগুলির তালিকা পেতে (দ্রষ্টব্য: এটি প্রয়োজনীয়গুলি ওভাররাইট করে দেবে নীচের সমস্ত কমান্ডের মধ্যে প্রয়োজনীয়তা। টেক্সট) রয়েছে।

pip freeze > requirements.txt

এখন একে একে অপসারণ করতে

pip uninstall -r requirements.txt

আমরা যদি তখনই সমস্ত অপসারণ করতে চাই

pip uninstall -r requirements.txt -y

আপনি যদি এমন একটি বিদ্যমান প্রকল্পে কাজ করছেন যা একটি requirements.txtফাইল রয়েছে এবং আপনার পরিবেশটি ডাইভার্ট হয়েছে তবে কেবল requirements.txtউপরের উদাহরণগুলি থেকে এটিকে প্রতিস্থাপন করুন toberemoved.txt। তারপরে, একবার আপনি উপরের পদক্ষেপগুলি অতিক্রম করার পরে, আপনি requirements.txtআপনার এখন পরিষ্কার পরিবেশ আপডেট করতে ব্যবহার করতে পারেন ।

এবং কোনও ফাইল তৈরি না করে একক কমান্ডের জন্য (যেমন @ জোয়েব প্রস্তাবিত)।

pip uninstall -y -r <(pip freeze)

11
সম্ভবত এটি উল্লেখযোগ্য যে আপনি তাদের প্রয়োজনীয়তাগুলি টেক্সট ফাইলটি ওভাররাইটিংয়ে বাধ্য করছেন, যদি তারা না জানে। :)
ডেভ গ্রেগরি

4
তদ্ব্যতীত, কেউ যদি সমস্ত প্যাকেজ মুছে ফেলতে চায়, "-y" যুক্ত করা তা করবে। উদাহরণ:pip uninstall -r requirements.txt -y
ডেভিড মেটকালফ

58
আপনি pip uninstall -y -r <(pip freeze)একসাথে সব কিছু করতে ব্যবহার করতে পারেন।
জোয়েব

1
@ জোয়েব হ্যাঁ আমরাও সেভাবে করতে পারি।
হর্ষাদ কাবথিয়া

1
@ হারশাদকাঠিয়া আপনি "কারেন্ট.টিএসটিএসটি" এর মতো পাইপ ফ্রিজে সংরক্ষণ করার জন্য অন্য একটি ফাইল ব্যবহার করতে পারেন, সুতরাং প্রয়োজনীয়তা.
txt অনিচ্ছুক

117

এটি সর্বশেষতমের সাথে কাজ করে। আমি মনে করি এটি করার সবচেয়ে সংক্ষিপ্ত এবং সর্বাধিক ঘোষিত উপায়।

virtualenv --clear MYENV

তবে সাধারণত আমি কেবল অপরিবর্তনীয়তা নিয়ম থেকে ভ্যুচুয়ালেনভ মুছতে এবং পুনরায় তৈরি করি!


7
এটি কার্যকরভাবে দৌড়ানোর মতোই wipeenv? virtualenvwrapper.readthedocs.org/en/latest/…
টেলর এডমিস্টন

প্রকৃতপক্ষে - এটি মনে হয় (যেখানে আমি কেবল দৌড়ে এসেছি) যেখানে wipeenvপরিবেশের মধ্যে একটি ত্রুটি ছুঁড়েছে এবং কোনও pip install -eউন্নয়ন বিল্ডের প্রসঙ্গে ব্যবহার করা থাকলে কিছুই virtualenv --clear MYENVসরিয়ে ফেলবে না, ব্যবহারের চেষ্টা করা ত্রুটি ছুঁড়ে না এবং কোনওটিকেই সরিয়ে দেয় না প্যাকেজগুলি যা আপনি পরিবেশে পূর্বে ইনস্টল করেছেন। কমপক্ষে এটি ওএসএক্সের ক্ষেত্রে। আরও তথ্যের জন্য bitbucket.org/dhellmann/virtualenvwrapper/issues/211/… দেখুন ।
এমপেসার

2
wipeenvভার্চুয়ালেনভ্র্যাপার দ্বারা সরবরাহ করা একটি উপনাম, সুতরাং প্রত্যেকেরই এটি নেই।
জোনাথন হার্টলি

2
ঠিক আছে, এটি এক ধরণের নোংরা কৌশল, তবে যাদুর মতো কাজ করে। আমি পছন্দ করি যে প্রত্যেকে পিপ আনইনস্টল -r প্রয়োজনীয়তা.txt -y ব্যবহার করুন। এটি একটি দুর্দান্ত পরিষ্কার করে তোলে।
মুয়েমা

84

আমি একটি মন্তব্য বিভাগের বাইরে এই উত্তরটি উন্নত করতে চেয়েছিলাম কারণ এটি থ্রেডের মধ্যে সবচেয়ে মার্জিত সমাধানগুলির মধ্যে একটি। এই উত্তরটির সম্পূর্ণ কৃতিত্ব @ জোয়েবে যায় ।

pip uninstall -y -r <(pip freeze)

উপরের উত্তরগুলি যেহেতু হ্যান্ডল করে না এমন একটি ভার্চুয়ালেনভের প্রসঙ্গে আমার ব্যবহারকারী প্যাকেজ ফোল্ডারটি সাফ করার ক্ষেত্রে এটি আমার পক্ষে দুর্দান্ত কাজ করেছে।

সম্পাদনা: এই কমান্ডটি কোনও মেকফাইলে কীভাবে কাজ করতে হয় কেউ জানেন?

বোনাস: একটি বাশ ওরফে

আমি সুবিধার জন্য এটি আমার ব্যাশ প্রোফাইলে যুক্ত করেছি:

alias pipuninstallall="pip uninstall -y -r <(pip freeze)"

তারপরে চালান:

pipuninstallall

পাইপেনভের বিকল্প

আপনি যদি পাইপেনভ ব্যবহার করে থাকেন তবে আপনি চালাতে পারেন:

pipenv uninstall --all

8
সহজেই # 1 হওয়া উচিত
চিহ্নিত করুন

আমি এটি পছন্দ করি তবে এটি নাল ক্ষেত্রে কাজ করে না ( pip freezeকোনও প্যাকেজ ইনস্টল না হলে আউটপুট কিছুই আসে না এবং pip uninstallদুর্ভাগ্যক্রমে অভিযোগ করে)।
এরিক জি

হুম ভাল ধরা। সম্ভবত এটি কোনও ব্যাশ ফাংশনে আবৃত হতে পারে যা পিপ ফ্রিজ আউটপুটটি খালি নয় কিনা তা পরীক্ষা করে। কমান্ডটি একটি দুর্দান্ত শর্ট ওয়ান-লাইনার রাখার সময় আমি এটি অর্জনের দুর্দান্ত উপায় দেখছি না।
টেলর এডমিস্টন

1
ডিফল্টরূপে sh ব্যবহার করে, তবে প্রতিস্থাপন বাক্য <(...)গঠনটি একটি বাশিজম। সুতরাং আপনি হয় বাশ-সি "..." ব্যবহার করতে পারেন, বা এটি করে চারপাশে কাজ করতে পারেনpip freeze | pip uninstall -r /dev/stdin
সিজার

ERROR: Cannot uninstall 'bitarray'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
অ্যাজুরে

54

অন্যান্য উত্তরগুলি অবশ্যই ব্যবহার করে pip listবা pip freeze অন্তর্ভুক্ত করে--local থাকে তা সাধারণ নামের জায়গাগুলিতে পাওয়া প্যাকেজগুলি আনইনস্টল করে।

সুতরাং আমি স্নিপেটটি নিয়মিত ব্যবহার করি

 pip freeze --local | xargs pip uninstall -y

সূত্র: pip freeze --help


উত্তম উত্তর ... আমার কাছে কাজ করেছে
igorkf

এই কাজ না হওয়া পর্যন্ত একটি প্যাকেজ যে এটি একটি ত্রুটি উৎপন্ন আঘাত: ERROR: Cannot uninstall 'bitarray'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.। তারপরে আমি আর কোনও মডিউল আনইনস্টল করতে পারলাম না।
সিডুড

39

পদ্ধতি 1 (সহ pip freeze)

pip freeze | xargs pip uninstall -y

পদ্ধতি 2 (সহ pip list)

pip list | awk '{print $1}' | xargs pip uninstall -y

পদ্ধতি 3 (সহ virtualenv)

virtualenv --clear MYENV

2
sudo প্রয়োজনীয় নয়, এবং সাবধানতার সাথে বিবেচনা না করে ব্যবহার করা বেশ বিপজ্জনক, কারণ এটি বিশ্বব্যাপী মেশিন সেটআপকে প্রভাবিত করে। উদাহরণস্বরূপ এই উত্তরটি দেখুন: stackoverflow.com/questions/15028648/…
ব্লুবেরিফিল্ডস

6
পদ্ধতি 2 ( pip list) দুর্দান্ত কাজ করে যতক্ষণ না আপনি দুর্ঘটনাক্রমে পিপটি আনইনস্টল করে না -_-
জাস্টিন

19

দ্রুততম উপায় হ'ল ভার্চুয়ালেনভকে পুরোপুরি রিমেক করা। আমি ধরে নিচ্ছি আপনার কাছে একটি প্রযোজনীয় টেক্সট ফাইল রয়েছে যা উত্পাদনের সাথে মেলে, যদি না:

# On production:
pip freeze > reqs.txt

# On your machine:
rm $VIRTUALENV_DIRECTORY
mkdir $VIRTUALENV_DIRECTORY
pip install -r reqs.txt

2
এটি কি এমন ক্ষেত্রেও পরিচালনা করতে পারে যেখানে একটি সম্পাদনাযোগ্য ইনস্টল (মূলত একটি সেটআপ টলগুলি মোড ইনস্টল বিকাশ করে) এমন একটি স্থানীয় .egg-info ফাইল তৈরি করেছিল যা পরে ইনস্টলেশন / আনইনস্টল প্রক্রিয়াটির বাকী অংশে হস্তক্ষেপ করেছিল? যেহেতু এটি ফাইলগুলির একটি সেট এটি উপস্থিতি কীভাবে পরিচালনা করতে হবে তা মনে হয় না, এবং কিছু আনইনস্টল না করে এটি MYENV এর অধীনে একটি স্থানীয় ডিরেক্টরি কাঠামো তৈরি করে এটি সম্পূর্ণ করে: Y> MYENV / bin / python3.4> এ নতুন অজগর এক্সিকিউটেবল MYENV / bin / python এ এক্সিকিউটেবল তৈরি করা হচ্ছে> সেটআপ টল, পাইপ, চাকা ইনস্টল করা হয়েছে ... সম্পন্ন হয়েছে `তবে মাইএনভি পরিবেশটি পুনরায় সেট করেনি!
এমপেসার

19

আমি নিম্নলিখিতটি সম্পাদন করে এটি পরিচালনা করেছি:

বর্তমানে ইনস্টল করা প্যাকেজ তালিকা সহ reqs.txt নামে প্রয়োজনীয় ফাইলগুলি তৈরি করুন

pip freeze > reqs.txt

তারপরে reqs.txt থেকে সমস্ত প্যাকেজ আনইনস্টল করুন

pip uninstall \
   -y # remove the package with prompting for confirmation
   -r reqs.txt

আমি এই পদ্ধতিটি পছন্দ করি কারণ আপনার যদি কোনও ভুল হয় তবে আপনার কাছে সর্বদা পিপের প্রয়োজনীয়তা ফাইলটি আবার পড়ে যায়। এটিও পুনরাবৃত্তিযোগ্য।


সহজ এবং মার্জিত,
মোহন এর

16

উইন্ডোজ যদি আপনার pathসঠিকভাবে কনফিগার করা থাকে তবে আপনি এটি ব্যবহার করতে পারেন:

pip freeze > unins && pip uninstall -y -r unins && del unins

এটি ইউনিক্সের মতো সিস্টেমগুলির জন্য একই রকমের ঘটনা হওয়া উচিত:

pip freeze > unins && pip uninstall -y -r unins && rm unins

কেবলমাত্র একটি সতর্কতা যে এটি পুরোপুরি শক্ত নয় কারণ আপনি 'ফাইলটি পাওয়া যায় নি' এর মতো সমস্যাগুলিতে চলে যেতে পারেন তবে এটি কিছু ক্ষেত্রে কার্যকর হতে পারে

সম্পাদনা: স্পষ্টতার জন্য: uninsএকটি স্বেচ্ছাসেবী ফাইল যা এই কমান্ডটি কার্যকর করলে এটিতে ডেটা লিখিত থাকে:pip freeze > unins

পরিবর্তে লিখিত ফাইলটি তখন উল্লিখিত প্যাকেজগুলি আন-ইনস্টল করার জন্য ব্যবহারিত সম্মতি / পূর্ব অনুমোদনের মাধ্যমে ব্যবহার করা হয় pip uninstall -y -r unins

শেষ পর্যন্ত ফাইলটি মুছে ফেলা হয়।


14


@ ইরারাতিরু, দুর্দান্ত, এখন আমার সহকর্মীরা সম্ভবত ভাবছেন কেন আমি কেবল আমার কীবোর্ডে কেন কেবল কফি ছিটিয়েছি
ব্রায়ান জোসেফ

@ ব্রায়ান জোসেফ অভিশাপ! আমি চেয়ার থেকে পড়ে গেলাম ... ধন্যবাদ!
রারাটিড়ু

14

প্রথমে এতে সমস্ত প্যাকেজ যুক্ত করুন requirements.txt

pip freeze > requirements.txt

তারপরে সব সরিয়ে দিন

pip uninstall -y -r requirements.txt 

8

এটি আমার একটি পুরানো প্রশ্ন তবে আমি ভবিষ্যতে রেফারেন্সের জন্য এটি পেরিয়ে গিয়েছিলাম কারণ আপনি এখন এটি করতে পারেন:

pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...

-r, - প্রয়োজনীয় ফাইল

প্রদত্ত প্রয়োজনীয় ফাইলগুলিতে তালিকাভুক্ত সমস্ত প্যাকেজ আনইনস্টল করুন। এই বিকল্পটি একাধিকবার ব্যবহার করা যেতে পারে।

থেকে পিপ ডকুমেন্টেশন সংস্করণ 8.1


8

উইন্ডোজ ব্যবহারকারীদের জন্য, আমি উইন্ডোজ পাওয়ারশেলে এটি ব্যবহার করি

 pip uninstall -y (pip freeze)

6

(এটি উত্তর হিসাবে যুক্ত করুন, কারণ @ ব্লুবেরিফিল্ডস এর উত্তরে মন্তব্য করার মতো যথেষ্ট খ্যাতি আমার নেই)

@ ব্লুবেরিফিল্ডস এর উত্তরগুলি ভাল কাজ করে, তবে আনইনস্টল করার জন্য কোনও প্যাকেজ না থাকলে ব্যর্থ হয় (এটি "যদি সমস্ত" আনইনস্টল করা হয় "কোনও স্ক্রিপ্ট বা মেকফিলের অংশ হয় তবে সমস্যা হতে পারে)। xargs -rজিএনইউ'র সংস্করণ ব্যবহার করার সাথে এটির সমাধান করা যেতে পারে xargs:

pip freeze --exclude-editable | xargs -r pip uninstall -y

থেকে man xargs:

-r, - কোন রান-যদি-খালি

যদি স্ট্যান্ডার্ড ইনপুটটিতে কোনও ননব্ল্যাঙ্ক থাকে না, কমান্ডটি চালাবেন না। সাধারণত ইনপুট না থাকলেও কমান্ডটি একবার চালানো হয়। এই বিকল্পটি একটি জিএনইউ এক্সটেনশন।


6
pip3 freeze --local | xargs pip3 uninstall -y

ক্ষেত্রে হতে পারে এক এই কমান্ড বেশ কয়েকবার একটি খালি পেতে চালানোর জন্য আছে যা pip3 freeze --local


3

সমস্ত অজগর প্যাকেজ আনইনস্টল করার জন্য এটি আমার পক্ষে সহজতম উপায় ছিল।

from pip import get_installed_distributions
from os import system
for i in get_installed_distributions():
    system("pip3 uninstall {} -y -q".format(i.key))

2

ক্রস প্ল্যাটফর্ম সমর্থন কেবল ব্যবহার করে pip:

#!/usr/bin/env python

from sys import stderr
from pip.commands.uninstall import UninstallCommand
from pip import get_installed_distributions

pip_uninstall = UninstallCommand()
options, args = pip_uninstall.parse_args([
    package.project_name
    for package in
    get_installed_distributions()
    if not package.location.endswith('dist-packages')
])

options.yes = True  # Don't confirm before uninstall
# set `options.require_venv` to True for virtualenv restriction

try:
    print pip_uninstall.run(options, args)
except OSError as e:
    if e.errno != 13:
        raise e
    print >> stderr, "You lack permissions to uninstall this package.
                      Perhaps run with sudo? Exiting."
    exit(13)
# Plenty of other exceptions can be thrown, e.g.: `InstallationError`
# handle them if you want to.

2

এই আদেশটি আমার পক্ষে কাজ করে:

pip list | awk '{print $1}' | xargs pip uninstall -y

2

সহজ শক্তিশালী উপায়ে ক্রস প্ল্যাটফর্ম এবং পাইপেনভের কাজও হ'ল:

pip freeze 
pip uninstall -r requirement

পাইপেনভ দ্বারা:

pipenv run pip freeze 
pipenv run pip uninstall -r requirement

তবে পাইপলক বা পাইপফাইলে আপডেট করবেন না তাই সচেতন হন


1

আপনি যদি চালাচ্ছেন virtualenv:

virtualenv --clear </path/to/your/virtualenv>

উদাহরণস্বরূপ, যদি আপনার ভার্চুয়ালেনভ হয় /Users/you/.virtualenvs/projectxতবে আপনি চালাতে চান:

virtualenv --clear /Users/you/.virtualenvs/projectx

যদি আপনি জানেন না যে আপনার ভার্চুয়াল এনভিটি কোথায় অবস্থিত, আপনি which pythonপাথটি পেতে একটি সক্রিয় ভার্চুয়াল এনভির ভিতরে চলে যেতে পারেন


1

আমার ক্ষেত্রে, আমি দুর্ঘটনাক্রমে pipম্যাকোস -এ হোমব্রব-ইনস্টলড ব্যবহার করে বিশ্বব্যাপী প্রচুর প্যাকেজ ইনস্টল করেছিলাম । ডিফল্ট প্যাকেজগুলিতে ফিরে যাওয়ার সহজতম উপায় ছিল:

$ brew reinstall python

বা, আপনি যদি ব্যবহার করছিলেন pip3:

$ brew reinstall python3

এই উত্তরটি পরিবেশ সম্পর্কে খুব বেশি ধরে নিয়েছে এবং যদি আপনি উদাহরণস্বরূপ পাইয়নভ ব্যবহার করে থাকেন তবে সরাসরি সমস্যার সমাধান করতে পারে না।
চিহ্নিত করুন

@ মার্ক ঠিক আছে আপনি যদি পেনভ ব্যবহার করছেন তবে আপনার আলাদা কিছু করার দরকার আছে। আপনি যে সাধারণ ক্ষেত্রে নন, আমি বিশ্বাস করি এটি হ'ল সহজতম এবং সর্বনিম্ন সমাধান। নোট করুন যে এই শর্তটি উত্তরের শুরুতে স্পষ্ট করে বলা হয়েছে।
র‌্যাডন রোসবারো

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

1
@ মার্ক আমি আপনার অবস্থান বুঝতে পারি। আমরা সম্মতি জানাতে পারি অসম্মতিতে. আমি কেবল গুগল থেকে লোকদের সাহায্য করতে চাই যারা "পাইপ দ্বারা ইনস্টল করা সমস্ত প্যাকেজগুলি সরানোর সহজ উপায় কী?" লেবেলযুক্ত লিঙ্কটিতে ক্লিক করেন? যখন তারা সত্যই পাইপ দ্বারা বিশ্বব্যাপী ইনস্টল করা সমস্ত প্যাকেজগুলি সরাতে চায় ।
র‌্যাডন রোসবারো

@ রেডনরোসবারোর সাথে সম্মত, লিঙ্ক শিরোনামটি কেন আমি এখানে অবতরণ করেছি তার প্রতিনিধি, যদিও ওপি আসলে একই প্রশ্ন না করে।
কেন সেবেস্তা 21

1

ইন কমান্ড শেল উইন্ডোজের কমান্ড pip freeze | xargs pip uninstall -yকাজ করবে না। সুতরাং আপনারা যারা উইন্ডোজ ব্যবহার করছেন তাদের পক্ষে আমি এটি করার একটি বিকল্প উপায় বের করেছি।

  1. সব ইনস্টল করা প্যাকেজ নাম কপি পিপ থেকে pip freezeএকটি কমান্ড .txt ফাইল।
  2. তারপরে, আপনার .txt ফাইলের অবস্থানটি যান এবং কমান্ডটি চালানpip uninstall -r *textfile.txt*


1

আমি ব্যবহারকারীর সাইটে ইনস্টল করা সমস্ত প্যাকেজ আনইনস্টল করতে --user বিকল্পটি ব্যবহার করি।

পাইপ 3 ফ্রিজ - ব্যবহারকারী | xargs পাইপ আনইনস্টল করুন -y


: আমি বিশ্বাস করি এই উত্তর অনেক নতুন তথ্য যোগ করে না, আমি বরং এই ওয়েব সাইটে আরেকটি ইতিমধ্যে বিদ্যমান অনুরূপ উত্তর একটি উন্নতি প্রস্তাব যেত stackoverflow.com/a/45475070/11138259
sinoroc

-1

কী দ্বারা প্যাকেজগুলি ইনস্টল করা হয়েছিল এবং আপনার সিস্টেমের প্যাকেজ ম্যানেজার দ্বারা কোন প্যাকেজ ইনস্টল করা হয়েছিল তা জানার কোনও উপায় নেই ip এর জন্য আপনার এই জাতীয় কিছু করা দরকার

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

find /usr/lib/python2.7/ |while read f; do
  if ! rpm -qf "$f" &> /dev/null; then
    echo "$f"
  fi
done |xargs rm -fr

দেব-ভিত্তিক বিতরণের জন্য:

find /usr/lib/python2.7/ |while read f; do
  if ! dpkg-query -S "$f" &> /dev/null; then
    echo "$f"
  fi
done |xargs rm -fr

তারপরে অবশিষ্ট ফাঁকা ডিরেক্টরিগুলি পরিষ্কার করতে:

find /usr/lib/python2.7 -type d -empty |xargs rm -fr

আমি শীর্ষের উত্তরটি খুব বিভ্রান্তিকর পেয়েছি কারণ এটি আপনার বিতরণ থেকে সমস্ত (সর্বাধিক?) পাইথন প্যাকেজ সরিয়ে ফেলবে এবং সম্ভবত আপনাকে একটি ভাঙ্গা সিস্টেমের সাহায্যে ছেড়ে দেবে।


সমস্ত যথাযোগ্য সম্মানের সাথে, এটি তুলনামূলক বলে মনে হয়। কেন নয় dpkg-query -S '/usr/lib/python2.7/*', নামগুলি এবং dpkg-query -Lপ্রতিটি নাম যুক্ত ফাইলগুলি ডাম্প করার জন্য? এটি ইতিমধ্যে প্রস্তুত প্রকাশিত হয়েছে। আমার মূল আপত্তিটি হ'ল প্যাকেজটি অন্য কোথাও ইনস্টল করা প্যাকেজগুলি লক্ষ্য করে পরিবর্তে পাইপ দ্বারা, আপনি যে ম্যানেজারটি প্রত্যাশা করেন তা ব্যতীত অন্য যে কোনও দ্বারা ইনস্টল করা প্যাকেজগুলি লক্ষ্যবস্তু করেছে এবং এমন কোনও স্থানে সাধারণত পাইপ স্পর্শ করা উচিত নয়। pip list -lএটি স্থানীয়ভাবে ইনস্টল করা প্যাকেজগুলি তালিকাভুক্ত করে এবং কিছু এমনকি এটিও করবে pip install --target=...। সমস্ত খালি ডায়ারগুলি অপসারণ করা আপনাকেও কামড় দেবে!
জন পি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.