কীভাবে পাইপ ইনস্টল করা - প্যাকেজ ইনস্টল করা প্যাকেজ আনইনস্টল করবেন


219

পাইপের জন্য একটি --userবিকল্প রয়েছে যা ব্যবহারকারী প্রতি পাইথন প্যাকেজ ইনস্টল করতে পারে:

pip install --user [python-package-name]

আমি কোনও সার্ভারে প্যাকেজ ইনস্টল করতে এই বিকল্পটি ব্যবহার করেছি যার জন্য আমার কাছে রুট অ্যাক্সেস নেই। আমার এখন যা দরকার তা হ'ল বর্তমান ব্যবহারকারীর ইনস্টল করা প্যাকেজটি আনইনস্টল করা। আমি এই আদেশটি কার্যকর করার চেষ্টা করেছি:

pip uninstall --user [python-package-name]

তবে আমি পেয়েছি:

no such option: --user

আমি pip install --userনিজে প্যাকেজটি সন্ধান এবং মুছে ফেলা ব্যতীত আমি যে প্যাকেজটি ইনস্টল করেছি তা আনইনস্টল করব ?

আমি এই নিবন্ধটি খুঁজে পেয়েছি

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

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

pip uninstall [package-name]

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


1
না, আপনাকে ব্যবহারকারীর জন্য একটি করে ভার্চুয়ালেনভ নির্ধারণ করতে হবে: গোষ্ঠী এবং এতে থাকা ফোল্ডারে যথাযথ সিস্টেম অনুমতি দেওয়া উচিত।
ড্যানিয়াস

3
সমস্ত ব্যবহারকারীর জন্য প্যাকেজ সিস্টেম-ব্যাপী ইনস্টল করার কোনও উপায় নেই এবং তারপরে কিছু ব্যবহারকারীর জন্য বেছে বেছে এটি আনইনস্টল করুন। যদি প্যাকেজটি ইনস্টল করা থাকে --userতবে আনইনস্টল করা ছাড়াই --userআপনি যা চান তা করবে।
ট্রিপলি

@ ট্রিপলি: আমার কাছে অনুমতি ব্যবস্থা বিস্তৃত নয় এবং আমি চাই না, আমার এখনকার ব্যবহারকারীর জন্য এটি আনইনস্টল করা দরকার
সেরজিক

1
আপনার কাছে কোন ডিরেক্টরিটি সরানোর অনুমতি নেই এবং এর অনুমতিগুলি ঠিক করুন বা ম্যানুয়ালি এটিকে পাশের দিকে সরান Figure
ট্রিপলি

উত্তর:


196

পাইথন ৩.৩ এবং লিনাক্সে pip.১.২ ব্যবহার করে এটি পরীক্ষা করে দেখে পরিস্থিতিটি এটি উপস্থিত বলে মনে হয়:

  • pip install --user somepackageএটি ইনস্টল করে $HOME/.localএবং আনইনস্টল করা ব্যবহার করে কাজ করে pip uninstall somepackage

  • somepackageএকই সাথে সিস্টেম-ওয়াইড ইনস্টল করা আছে কি না এটি সত্য ।

  • যদি প্যাকেজ উভয় জায়গায় ইনস্টল করা থাকে তবে কেবল স্থানীয় একটিকেই আনইনস্টল করা হবে। প্যাকেজ সিস্টেম-ব্যাপী ব্যবহার করে pipআনইনস্টল করতে, প্রথমে স্থানীয়ভাবে এটি আনইনস্টল করুন, তারপরে rootসুযোগ-সুবিধাগুলি দিয়ে আবার একই আনইনস্টল কমান্ডটি চালান ।

  • পূর্বনির্ধারিত ব্যবহারকারী ইনস্টল ডিরেক্টরি ছাড়াও pip install --target somedir somepackageপ্যাকেজটি এতে ইনস্টল করবে somedir। ব্যবহার করে এমন জায়গা থেকে কোনও প্যাকেজ আনইনস্টল করার কোনও উপায় নেই pip। (তবে গিথুবকে কিছুটা পুরানো নিমজ্জন টানার অনুরোধ রয়েছে যা প্রয়োগ করে pip uninstall --target))

  • যেহেতু একমাত্র স্থানগুলি pipহ'ল সিস্টেম-প্রশস্ত এবং পূর্বনির্ধারিত ব্যবহারকারী-স্থানীয় হ'ল, pip uninstallকোনও প্রদত্ত ব্যবহারকারীর স্থানীয় ইনস্টল ডিরেক্টরি থেকে আনইনস্টল করার জন্য আপনাকে সংশ্লিষ্ট ব্যবহারকারী হিসাবে চালানো দরকার ।


2
এই বিবৃতিগুলি ভার্চুয়াল পরিবেশের ভিতরে পিপ চালানোর জন্য সঠিক?
kbolino

আমার ক্ষেত্রে আনইনস্টল করা পাইপের জন্য কাজ করে না 9.0.1 প্যাকেজটি এখনও হোম /. / স্থানীয় সময়ে ইনস্টল করা আছে
জেনোম

2
পয়েন্ট 2 আমার সিস্টেমে সত্য বলে মনে হচ্ছে না। আমি একটি সিস্টেম প্যাকেজ jediইনস্টল করা আছে /usr/lib64/python2.7/site-packages/। যখন আমি করি, একজন সাধারণ ব্যবহারকারী হিসাবে: pip install --user jedi এবং তারপরে pip uninstall jedi, পিপ আনইনস্টল করার চেষ্টা করে /usr/lib64/python2.7/site-packages/jediএবং তারপরে কিক আউট করে Permission denied। তাই আপনি যদি --userআনইনস্টল কমান্ডের জন্য বিদ্যমান নয়, কীভাবে আমি আনইনস্টল বলতে কি না আনইনস্টল করতে চেষ্টা /usr/lib64/python2.7/site-packages/jediকিন্তু ~/.local/lib64/python3.6/site-packages/jedi?
এস্ট্রোফ্লয়েড

ঠিক এখানে @ অ্যাস্ট্রোফ্লয়েড
নিকানা রেকলভিক্স হিসাবে


9

যারা pip install --user some_pkg ভার্চুয়াল পরিবেশের ভিতরে ব্যবহার করছেন তাদের ক্ষেত্রে অবশ্যই সাবধান হন ।

$ path/to/python -m venv ~/my_py_venv
$ source ~/my_py_venv/bin/activate
(my_py_venv) $ pip install --user some_pkg
(my_py_venv) $ pip uninstall some_pkg
WARNING: Skipping some_pkg as it is not installed.
(my_py_venv) $ pip list
# Even `pip list` will not properly list the `some_pkg` in this case

এই ক্ষেত্রে, আপনাকে বর্তমান ভার্চুয়াল পরিবেশটি নিষ্ক্রিয় করতে হবে , তারপরে ব্যবহারকারীর সাইট প্যাকেজগুলির তালিকা বা আনইনস্টল করতে সংশ্লিষ্ট python/ pipএক্সিকিউটেবল ব্যবহার করুন :

(my_py_venv) $ deactivate
$ path/to/python -m pip list
$ path/to/python -m pip uninstall some_pkg

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


3
খুব দেরী !, আমি --userভার্চুয়াল এনভির অভ্যন্তরে ব্যবহার করেছি , pip list
সেটিকে

2
'এবং এটি মনে হয় যে বর্তমান উপসংহারটি হল: - ব্যবহারকারীর ভার্চুয়াল এনভির পাইপের ভিতরে বৈধ নয়, যেহেতু ব্যবহারকারীর অবস্থান ভার্চুয়াল পরিবেশের জন্য সত্যিকার অর্থে বোঝায় না।' একমত। ব্যবহারকারী ইনস্টলগুলি ভার্চুয়াল পরিবেশের পুরো উদ্দেশ্যকে পরাস্ত করে। দুর্ভাগ্যক্রমে সেখানে প্রচুর লোকের খারাপ উদাহরণ রয়েছে।
স্টিফেন বোশ

5

আমি মনে করি --userপতাকা সহ ইনস্টল হওয়া প্যাকেজগুলি আনইনস্টল করা সম্ভব । এই আমার জন্য কাজ করে;

pip freeze --user | xargs pip uninstall -y

অজগর জন্য 3;

pip3 freeze --user | xargs pip3 uninstall -y

তবে কোনওভাবে এই কমান্ডগুলি সেটআপলগুলি এবং পাইপ আনইনস্টল করে না। এই আদেশগুলির পরে (আপনি যদি সত্যিই পরিষ্কার পাইথন চান) আপনি এগুলি মুছতে পারেন;

pip uninstall setuptools && pip uninstall pip


2
এটি একটি মার্জিত সমাধান যা আমার পক্ষে ভালভাবে কাজ করেছে।
স্টিফেন বোশ

2

উত্তরটি এখনও সম্ভব নয় । আপনাকে এটি ম্যানুয়ালি অপসারণ করতে হবে।


প্যাকেজ ইনস্টল করার সময়, একটি ট্রেসব্যাক ছিল। আনইনস্টল এর পরে আর কোনও কাজ হয়নি।
সিয়াম

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

কার্যকরভাবে অসম্ভব কারণ পাইপ সেটআপ.পি চালায় যা বাহ্যিক কোড চালায়। যতক্ষণ না সেটআপ.পি সম্পূর্ণরূপে অপসারণ করা হয় সে সম্পর্কে ভুলে যান, সম্ভবত ২০২২ সালের মধ্যে এটি হয়ে যাবে।
sorin

2

@ থোমাস-লটজ যেমন উল্লেখ করেছেন, বর্তমানে পাইপ টুলিং এর সাথে সম্পর্কিত - ব্যবহারকারীর বিকল্প নেই বলে এটি করে না। তবে আমি যা সন্ধান করি তা হ'ল আমি l / .Local / বিন চেক করতে পারি এবং নির্দিষ্ট পাইপটি সন্ধান করতে পারি #। # যা এটি আমার ব্যবহারকারীর বিকল্পের সাথে সম্পর্কিত বলে মনে হচ্ছে।

আমার ক্ষেত্রে:

antho@noctil: ~/.l/bin$ pwd
/home/antho/.local/bin
antho@noctil: ~/.l/bin$ ls pip*
pip  pip2  pip2.7  pip3  pip3.5

এবং তারপরে নির্দিষ্ট পাইপ সংস্করণটি দিয়ে কেবল আনইনস্টল করুন।


stackoverflow.com/a/11250821/14420 স্নান আনইনস্টল হচ্ছে, যেমন জন্য রেসিপি দেখতে ./pip2 freeze | grep -v "^-e" | xargs pip uninstall -yসম্পাদনাযোগ্য মোডে ইনস্টল প্যাকেজ ছাড়া সব কিছুর জন্য
অনুজ্জ্বল উইলকি

0

আমি অ্যানাকোন্ডা সংস্করণ 4.3.22 এবং পাইথন 3.6.1 পরিবেশটি চালাচ্ছি এবং এই সমস্যাটি ছিল। এখানে ইতিহাস এবং ঠিক করা আছে:

pip uninstall opencv-python # -- the original step. failed.

ImportError: DLL load failed: The specified module could not be found.

আমি আমার অজগর 3.6 পরিবেশে এটি করেছি এবং এই ত্রুটি পেয়েছি।

python -m pip install opencv-python # same package as above.
conda install -c conda-forge opencv # separate install parallel to opencv
pip-install opencv-contrib-python # suggested by another user here. doesn't resolve it.

এরপরে, আমি পাইথন ৩. download ডাউনলোড করার চেষ্টা করেছি এবং ফাইলে এবং বিভিন্ন ফোল্ডারে পাইথন ৩.ডিল লাগিয়েছি। কিছুই পরিবর্তন হয়নি।

অবশেষে, এটি এটি স্থির করে:

pip uninstall opencv-python

(অন্যান্য কনডা-ফোর্জা সংস্করণটি এখনও ইনস্টল করা আছে) এটি কেবল কনডা সংস্করণ রেখে গেছে এবং এটি 3.6-এ কাজ করে।

>>>import cv2
>>>

কাজ!

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