আপনার অজগর ইনস্টলেশন থেকে আপনি কেবল ডিরেক্টরি মুছতে পারেন, বা এমন কোনও বিলম্বিত ফাইল রয়েছে যা আপনার মুছতে হবে?
উত্তর:
এটি আপনি যে বিকল্পগুলি পাস installকরেছেন সেগুলি এবং সিস্টেমে / প্যাকেজে ডিস্টুটি কনফিগারেশন ফাইলগুলির সামগ্রীর উপর ভিত্তি করে পরিবর্তিত হয় । আমি বিশ্বাস করি না যে কোনও ফাইলই এই উপায়ে নির্দিষ্ট করা ডিরেক্টরিগুলির বাইরে পরিবর্তিত হয়।
উল্লেখযোগ্যভাবে, ডিস্টুটিলসের এই সময়ে একটি আনইনস্টল কমান্ড নেই ।
এটি আরও লক্ষণীয় যে প্যাকেজ / ডিম মুছে ফেলার কারণে নির্ভরতাজনিত সমস্যা হতে পারে - easy_installযেমন সমস্যাগুলি হ্রাস করার চেষ্টা করার মতো উপযোগিতা ।
ইনস্টল হওয়া তিনটি জিনিস যা আপনার মুছতে হবে are
এখন আমার লিনাক্স সিস্টেমে এগুলি লাইভ থাকে:
তবে উইন্ডোজ সিস্টেমে এগুলি পুরোপুরি পাইথন বিতরণ ডিরেক্টরিের মধ্যে থাকতে পারে be লিনাক্স প্যাটার্নটি অনুসরণ করা আরও পছন্দসই তবে ওএসএক্স সম্পর্কে আমার কোনও ধারণা নেই।
অন্য সময় স্ট্যাম্প ভিত্তিক হ্যাক:
touch /tmp/tspython setup.py install --prefix=<PREFIX>find <PREFIX> -cnewer /tmp/ts | xargs rm -r| xargs rm -r। আমি প্রতিটি ফাইল ম্যানুয়ালি যেতে পরামর্শ দিই । Ext4 (এবং অন্যান্য ফাইল সিস্টেম) এ, এটি findসমস্ত ফোল্ডারকেও তালিকাভুক্ত করতে চলেছে । যদি আপনার উপসর্গটি থাকে /usr, আপনি মুছতে চলেছেন/usr/* ।
হ্যাঁ, ইনস্টল করা ডিস্টুলেটগুলি কেবল মুছে ফেলা নিরাপদ। এটি ইনস্টল করা ফোল্ডার বা .egg ফাইলগুলির জন্য যায়। স্বাভাবিকভাবেই যে কোনও কিছু সেই কোডের উপর নির্ভর করে আর কাজ করবে না।
আপনি যদি এটি আবার কাজ করতে চান তবে কেবল পুনরায় ইনস্টল করুন।
যাইহোক, আপনি যদি ডিস্টুলেটগুলি ব্যবহার করেন তবে একাধিক সংস্করণ বৈশিষ্ট্যটিও বিবেচনা করুন। এটি আপনাকে যে কোনও একক প্যাকেজের একাধিক সংস্করণ ইনস্টল করতে দেয়। এর অর্থ যদি আপনি কেবল নতুন সংস্করণ ইনস্টল করতে চান তবে আপনাকে প্যাকেজের কোনও পুরানো সংস্করণ মুছতে হবে না।
উবুন্টু 12.04-তে, আমি খুঁজে পেয়েছি যে আপনাকে কেবলমাত্র ডিফল্টরূপে দেখার দরকার সেই স্থানটি নীচে
/usr/local/lib/python2.7/
এবং যদি কেবল সেখানে সম্পর্কিত ফোল্ডার এবং ফাইলটি সরিয়ে ফেলুন!
এটি যদি পরীক্ষার এবং / বা বিকাশের উদ্দেশ্যে হয় তবে সেটআপলগুলিতে একটি বিকাশ কমান্ড থাকে যা প্রতিবার আপনি পরিবর্তন করার সময় আপডেট হয় (যাতে আপনি যখনই পরিবর্তন আনবেন তখনই আপনাকে আনইনস্টল এবং পুনরায় ইনস্টল করতে হবে না)। এবং আপনি এই কমান্ডটি ব্যবহার করে প্যাকেজটি আনইনস্টল করতে পারেন।
আপনি যদি এটি ব্যবহার করেন তবে স্ক্রিপ্ট হিসাবে আপনি যে কোনও কিছু ঘোষণা করবেন তা পিছনে ফিরবে ফাইল হিসাবে রেখে যাবে।
install --record + xargs rm
sudo python setup.py install --record files.txt
xargs sudo rm -rf < files.txt
সমস্ত ফাইল সরিয়ে দেয় এবং কিন্তু খালি ডিরেক্টরিগুলি পিছনে ফেলে।
এটি আদর্শ নয়, প্যাকেজ বিরোধগুলি এড়ানোর জন্য এটি যথেষ্ট হওয়া উচিত।
এবং তারপরে আপনি পড়তে চাইলে ম্যানুয়ালি এই কাজটি শেষ করতে পারেন files.txt, বা সাহসী হয়ে ও খালি ডিরেক্টরি অপসারণটি স্বয়ংক্রিয় করতে পারেন mate
একজন নিরাপদ সহায়ক হবেন:
python-setup-uninstall() (
sudo rm -f files.txt
sudo python setup.py install --record files.txt && \
xargs rm -rf < files.txt
sudo rm -f files.txt
)
পাইথন 2.7.6, উবুন্টু 14.04 এ পরীক্ষিত 4
আমি কেবল একটি অজগর প্যাকেজটি আনইনস্টল করেছি এবং যদিও আমি নিশ্চিত নই যে আমি এটি পুরোপুরি করেছি, আমি যুক্তিযুক্ত আত্মবিশ্বাসী।
আমার প্যাকেজের সমস্ত ফাইলের কম-বেশি একই টাইমস্ট্যাম্প থাকবে এবং অন্য কোনও ফাইল হবে না এই ধারণায়, তারিখ অনুসারে অজগর সম্পর্কিত সমস্ত ফাইলের তালিকা পেয়ে শুরু করেছি ।
ভাগ্যক্রমে, আমি পাইথন ইনস্টল পেয়েছি /opt/Python-2.6.1; যদি আমি পাইথনটি ব্যবহার করতাম যা আমার লিনাক্স ডিস্ট্রো সহ আসে, তবে আমি সমস্ত কিছু ঘনঘন করতাম /usr, যা অনেক দিন সময় নিতে পারে।
তারপরে আমি কেবলমাত্র সেই তালিকাটি পরীক্ষা করেছিলাম এবং স্বস্তির সাথে উল্লেখ করেছি যে আমি যে সমস্ত স্টাফকে nuke করতে চেয়েছিলাম সেগুলির মধ্যে একটি ডিরেক্টরি /opt/Python-2.6.1/lib/python2.6/site-packages/module-name/, এবং একটি ফাইল রয়েছে /opt/Python-2.6.1/lib/python2.6/site-packages/module-x.x.x_blah-py2.6.egg-info।
সুতরাং আমি কেবল সেগুলি মুছে ফেলেছি।
আমি এখানে ফাইলের তারিখ-অনুসারে বাছাই করা তালিকা পেয়েছি:
find "$@" -printf '%T@ ' -ls | sort -n | cut -d\ -f 2-
(আমি মনে করি এটি জিএনইউ "সন্ধান" হবে, যাইহোক; ওএস এক্সে আপনি যে স্বাদ পাবেন সেটি "-প্রিন্টফ '% টি @'" সম্পর্কে জানে না)
আমি যে সব সময় ব্যবহার ।
উইন্ডোজ পাইথনের জন্য:
python -m pip uninstall "package_keyword"
uninstall **** (y/n)?
ম্যাক ওএসএক্স-এ, আপনার পাথটপাইথন / সাইট-প্যাকেজ / এর অধীনে ম্যানুয়ালি এই 2 টি ডিরেক্টরি মুছে দিন :
উদাহরণস্বরূপ, pyasn1 অপসারণ , যা একটি ডিস্টিল ইনস্টল করা প্রকল্প:
আপনার সাইট-প্যাকেজগুলি কোথায় তা সন্ধান করতে:
python -m site
ERROR: flake8 3.7.9 has requirement pycodestyle<2.6.0,>=2.5.0, but you'll have pycodestyle 2.3.1 which is incompatible.
ERROR: nuscenes-devkit 1.0.8 has requirement motmetrics<=1.1.3, but you'll have motmetrics 1.2.0 which is incompatible.
Installing collected packages: descartes, future, torch, cachetools, torchvision, flake8-import-order, xmltodict, entrypoints, flake8, motmetrics, nuscenes-devkit
Attempting uninstall: torch
Found existing installation: torch 1.0.0
Uninstalling torch-1.0.0:
Successfully uninstalled torch-1.0.0
Attempting uninstall: torchvision
Found existing installation: torchvision 0.2.1
Uninstalling torchvision-0.2.1:
Successfully uninstalled torchvision-0.2.1
Attempting uninstall: entrypoints
Found existing installation: entrypoints 0.2.3
ERROR: Cannot uninstall 'entrypoints'. 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.
তারপরে আমি টাইপ করুন:
conda uninstall entrypoints
pip install --upgrade pycodestyle
pip install nuscenes-devkit
সম্পন্ন!