পাইপ আপগ্রেড করার পরে ত্রুটি: নাম 'প্রধান' আমদানি করতে পারে না


467

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

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'


guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

এটি আগে ঠিকঠাকভাবে কাজ করছিল, আমি নিশ্চিত নই কেন এটি এই ত্রুটিটি ছুঁড়ে ফেলছে। আমি এই ত্রুটিটি সম্পর্কে অনুসন্ধান করেছি, তবে এটি ঠিক করার জন্য কিছুই খুঁজে পাচ্ছি না।

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


1
এই লিঙ্কে অতিরিক্ত আলোচনা ।
ডায়াগন

7
আমার একই সমস্যা ছিল কারণ আমি এমন pip install --upgrade pipএকটি সার্ভারে পাইপ আপগ্রেড করতাম যেখানে আমার অ্যাডমিন সুবিধা নেই। python -m pip uninstall pipআমার সমস্যার সমাধান সহ পাইপ আনইনস্টল করা ।
29:50

উত্তরগুলি আমার কোনও কাজে আসেনি। এই আমার সমস্যা ছিল github.com/pypa/pipenv/issues/2095
Étienne

উত্তর:


845

আপনার অজান্তে অবশ্যই আপনার সিস্টেমের পাইপ আপগ্রেড করা হয়েছে (সম্ভবত এরকম কোনও কিছুর মাধ্যমে) sudo pip install pip --upgrade )

পাইপ 10.x এর অভ্যন্তরস্থ অবস্থিত যেখানে সমন্বয় করে। দ্যpip3কমান্ড তুমি চক্ষুষ্মান আপনার প্যাকেজ রক্ষণাবেক্ষণকারী দ্বারা উপলব্ধ অন্যতম (সম্ভবত এখানে ভিত্তিক ডেবিয়ান?) এবং পিপ দ্বারা পরিচালিত একটি ফাইল নয়।

আপনি পিপ এর ইস্যু ট্র্যাকার এ সম্পর্কে আরও পড়তে পারেন

আপনি সম্ভবত আপনার সিস্টেমের পাইপ আপগ্রেড না করে এর পরিবর্তে একটি ভার্চুয়ালেনভ ব্যবহার করতে চাইবেন ।

pip3বাইনারি পুনরুদ্ধার করতে আপনার প্রয়োজনsudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

আপনি যদি "অসমর্থিত অঞ্চল" (সিস্টেম প্যাকেজ ম্যানেজারের বাইরে একটি সিস্টেম প্যাকেজ আপগ্রেড করতে) চালিয়ে যেতে চান তবে আপনি সম্ভবত এর python3 -m pip ...পরিবর্তে দূরে যেতে পারেন pip3


28
sudo apt install python3-pip --reinstallসমস্যাটি সমাধান করা হয়নি, তবে আমি প্যাকেজ ব্যবহার করে ইনস্টল করতে পারি python3 -m pip। আপনার সাহায্যের জন্য ধন্যবাদ. আমি এটি স্বীকৃত হিসাবে চিহ্নিত করছি।
g_p

2
@ জি_পি "ফিক্সআপ" দিকনির্দেশ আপডেট করেছে - কেবলমাত্র তাদের ডকারে যাচাই করা হয়েছে (আমার প্রথমটি এটি করা উচিত ছিল!)
অ্যান্থনি সটাইল

5
'সুডো পিপ আনইনস্টল পাইপ' হিসাবে 'পাইথন-এম পাইপ আনইনস্টল পাইপ' কমান্ডটি ব্যবহার করা আমার মূল প্রশ্নের সাথে অনুরূপ ত্রুটি দিয়েছে
এমজেড এ

41
ধন্যবাদ! যে সাহায্য! sudo python -m pip uninstall pip && sudo apt install python-pip --reinstallপাইথন 2 এর জন্য ব্যবহার করুন !
বারলেলে

1
উইন্ডোতে উবুন্টুর হয়ে কাজ করে। পাইথন 2 (ডিফল্ট পাইথন ইন্টারপ্রেটার) এর জন্য @ বারামেলি পরামর্শ দিচ্ছেন সমাধানটি।
jdhao

110

আমরা পিপ ফাইলটি পরিবর্তন করে ত্রুটিটি সাফ করতে পারি।

ফাইলের অবস্থান পরীক্ষা করুন:

$ which pip

পাথ -> / usr / বিন / পাইপ

সেই অবস্থানটিতে যান ( / usr / বিন / পিপ ) এবং খুলুন টার্মিনাল

প্রবেশ করান: $ sudo nano pip

তুমি দেখতে পার:

import sys
from pip import main
if __name__ == '__main__':
     sys.exit(main())

পরিবর্তন:

import sys
from pip import __main__
if __name__ == '__main__':
     sys.exit(__main__._main())

তারপরে ctrl + o পরিবর্তনগুলি লিখুন এবং প্রস্থান করুন

আশা করি এটি করবে !!


1
এই পরিবর্তনগুলি করা সমস্যার সমাধান করেনি, তবে এটি আবার মূল পাঠ্যে পরিবর্তন করে। ¯_ (ツ) _ / ¯
ডেভিড

2
আমি এটি চেষ্টা করেছিলাম, কিন্তু পেয়েছিAttributeError: module 'pip.__main__' has no attribute 'main'
dnnagy

3
নিশ্চিত হয়ে নিন যে আপনি _ মেইন () প্রধান () নয়
বিজয় অ্যাথিথ্যা

2
সর্বশেষতম সংস্করণে pip3, এতে main()সরানো হয়েছে pip._internal। আমদানির বিবৃতিটি পরিবর্তন করতে হবেfrom pip._internal import main
Yossarian42

2
মোহন মত কাজ! ধন্যবাদ
মহেশ ননায়ক্কার

68

উবুন্টু পরিবার, ডেবিয়ান, লিনাক্স মিন্ট ব্যবহারকারীদের জন্য

অ্যান্টনির উপরের ব্যাখ্যার জন্য ধন্যবাদ , আপনি আপনার মূল সিস্টেমের পাইপটি ধরে রাখতে পারেন (in / usr / bin / এবং dist-প্যাকেজগুলি /) এবং বিরোধটি সমাধানের জন্য ম্যানুয়ালি-ইনস্টল করা পাইপ (~ / .local /) মুছে ফেলতে পারেন:

$ python3 -m pip uninstall pip

python3-pipডেবিয়ান প্যাকেজ থেকে উবুন্টু / ডেবিয়ান পাইপ ভি 8.1.1 (16.04) $ pip3 -Vসর্বশেষ পাইপ ভি 10.0.1 হিসাবে একই অনুসন্ধান ফলাফল দেখায় এবং পিপিআই থেকে সর্বশেষ মডিউল ইনস্টল করে। এটিতে একটি ওয়ার্কিং pipকমান্ড রয়েছে (ইতিমধ্যে $ PATH- এ রয়েছে), পাশাপাশি --user2016 এর পর থেকে ডিফল্টরূপে দুর্দান্ত বিকল্পটি প্যাচ-ইন করা হয়েছে pip পিপ রিলিজ নোটগুলির দিকে তাকানোতে , নতুন সংস্করণগুলি বেশিরভাগ ক্ষেত্রে ব্যবহার-ক্ষেত্রে নির্দিষ্ট বাগ ফিক্স এবং কিছু নতুন বৈশিষ্ট্য সম্পর্কে রয়েছে, তাই না সবাইকে এখনও পিপ আপগ্রেড করার জন্য ছুটে যেতে হবে। এবং নতুন পিপ 10 যাহাই হউক না কেন পাইথন ভার্চুয়ালেনভিতে স্থাপন করা যেতে পারে।

তবে পিপস নির্বিশেষে, আপনার ওএস দ্রুত পাইপের প্রয়োজন ছাড়াই এপিটি সহ সাধারণ পাইথন মডিউলগুলি (নপি সহ) ইনস্টল করতে দেয়, উদাহরণস্বরূপ:
$ sudo apt install python3-numpy python3-scipy(সিস্টেম নির্ভরতার সাথে)
$ sudo apt install python3-pip(দেবিয়ান-প্যাচযুক্ত পাইপ, কিছুটা পুরানো তবে এটি কোনও ব্যাপার নয়)

দ্রুত অ্যাপ্লিকেশন সিনট্যাক্স অনুস্মারক ( man aptবিশদ জন্য দয়া করে দেখুন ):
$ sudo apt update(উবুন্টু প্যাকেজ সূচী ফাইলগুলি আপ টু ডেট উত্স থেকে পুনরায় সিঙ্ক করতে)
$ apt search <python-package-name> (সমস্ত উপলব্ধ প্যাকেজগুলিতে সম্পূর্ণ পাঠ্য অনুসন্ধান)
$ apt show <python-package-name>(বিস্তারিত প্যাকেজের বিবরণ প্রদর্শন করে)
$ sudo apt install <python-package-name>

উপসর্গযুক্ত প্যাকেজের নামগুলি python-পাইথন 2 এর জন্য; এবং python3-উপসর্গযুক্ত পাইথন 3 এর জন্য (যেমন পাইথন 3-পান্ডাস)। হাজার হাজার রয়েছে এবং তারা দেবিয়ান এবং উবুন্টুতে একীকরণের পরীক্ষা চালাচ্ছে। আপনি যদি না প্রতি ব্যবহারকারী স্তরে ( pip install --userবিকল্প) বা ভ্যুচুলেএনভ / ভেনভের মধ্যে ইনস্টল করার চেষ্টা না করেন , অপ্টটি আপনার প্রয়োজনীয় যা হতে পারে। এই সিস্টেম প্যাকেজ যেমন, খুব ভার্চুয়াল envs অ্যাক্সেস করা যায় virtualenv অত্যন্ত শৃঙ্খলার আমদানিতে সিস্টেম লিব ব্যবহার করে আপনার envs মডিউল কপি দেওয়া থাকলে ফিরে আসবে। আপনার কাস্টম ইনস্টল (পিপ সহ --user) প্রতি ব্যবহারকারী মডিউলগুলিতে ~/.local/libসেগুলি ওভাররাইড করবে।

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

প্রকৃতপক্ষে, সিস্টেম-প্রশস্ত পাইথন প্যাকেজগুলির জন্য (প্রতি ব্যবহারকারী, হোম ডায়ার স্তর বা নিম্নের বিপরীতে) উবুন্টু আশা করে যে এপিটি প্যাকেজ ম্যানেজারটি sudo pipওএস ভাঙ্গা এড়ানোর জন্য ব্যবহার করবে : ঠিক sudo pip3একই /usr/lib/python3/dist-packagesডিরেক্টরিকে লক্ষ্য করে যেখানে এপিটি ওএস সঞ্চয় করে where সংবেদনশীল মডিউল। সাম্প্রতিক ডেবিয়ান / উবুন্টু প্রকাশগুলি পাইথন 3 এর উপর নির্ভর করে, তাই এটির পূর্ব-ইনস্টল করা মডিউলগুলি পরিচালনা করে aptএবং পরিবর্তন করা উচিত নয়।

তাই আপনি যদি ব্যবহার pip3 installকমান্ড দয়া করে নিশ্চিত করুন যে এটি যেমন মত একটি বিচ্ছিন্ন ভার্চুয়াল দেব পরিবেশে চালায়, virtualenv ( sudo apt install python3-virtualenv), অথবা Python3 সঙ্গে বিল্ট-ইন ( -m venv), অথবা ব্যবহারকারী অনুসারে স্তর (এ --userপিপ বিকল্প, এ ডিফল্ট উবুন্টু প্রদত্ত 2016 সাল থেকে পিপ), কিন্তু না সিস্টেম-ব্যাপী (কখনও sudo pip3!), পিপ কারণ হস্তক্ষেপ এপিটি প্যাকেজ ম্যানেজার অপারেশন এবং উবুন্টু অপারেটিং সিস্টেম প্রভাবিত করতে পারে উপাদান যখন একটি সিস্টেম-ব্যবহৃত পাইথন মডিউল অপ্রত্যাশিতভাবে পরিবর্তিত হয়। শুভকামনা!


পি। এস । উপরের সমস্তগুলি 'আদর্শ' সমাধানের জন্য (ডেবিয়ান / উবুন্টু উপায়)।

আপনি যদি এখনও নতুন পিপ 3 ভি 10 একচেটিয়াভাবে ব্যবহার করতে চান তবে 3 টি দ্রুত কাজের সীমা রয়েছে:

  • কেবলমাত্র একটি নতুন বাশ সেশন খুলুন (একটি নতুন টার্মিনাল ট্যাব, বা টাইপ bash) - এবং পাইপ 3 ভি 10 উপলভ্য হবে (দেখুন pip3 -V)। ডিবিয়ানের পাইপ 3 ভি 8 ইনস্টল থাকা থাকলেও ভেঙে গেছে; অথবা
  • 3 $ hash -d pip3 && pip3 -V PATH- তে পাইপ 3 পথের নামটি রিফ্রেশ করার কমান্ড । ডিবিয়ানের পাইপ 3 ভি 8 ইনস্টল থাকা থাকলেও ভেঙে গেছে; অথবা
  • $ sudo apt remove python3-pip && hash -d pip3আপনার নতুন পিপ 3 ভি 10 এর পক্ষে ডিবিয়ান পিপ 3 ভি 8 সম্পূর্ণরূপে আনইনস্টল করার কমান্ড ।

দ্রষ্টব্য: আপনি যদি --userকোনও ভার্চুয়ালেনভে না থাকেন তবে আপনাকে সর্বদা কোনও নন-ডেবিয়ান সরবরাহিত পাইপে পতাকা যুক্ত করতে হবে! (এটি ~/.local/ডিজাইন / উবুন্টু-সরবরাহিত পাইথন 3-পিপ এবং পাইথন-পাইপ 2016-এ ডিফল্টে পাইথন প্যাকেজ স্থাপন করে )। আপনার পাইপ 10 সিস্টেম-প্রশস্ত, ভার্চুয়ালেনভের বাইরে, উবুন্টু / ডেবিয়ান সত্যই সমর্থন করে না। কখনই না sudo pip3!

আরও বিশদ:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100


আপনি কী আমাকে pip স্থানীয়ভাবে আপগ্রেড সংস্করণ ইনস্টল করে --user, অর্থাত্ sudo, এপিটি ইনস্টল করা চালানোর আমার ক্ষমতাকে কেন প্রভাবিত করে তা বুঝতে সাহায্য করতে পারেন pip? আমি ভেবেছিলাম দুজনের সহাবস্থান হবে। তবে এই টুকরোটি দেখায় যে অ্যাপ্লিকেশনগুলি ইনস্টল করার পরে আমার একটি বিরতি ঘটেpython3 -m pip install --user --upgrade pip । আমি কোনও সমাধান খুঁজছি না - আমি এখানে কী ঘটছে তা বুঝতে সত্যই আগ্রহী।
জর্জ হকিন্স

1
@ জর্জ এটি পাইপ লাইব্রেরি এবং এর মোড়কের মধ্যকার অমিলের কারণে ঘটে যা এগুলি আমদানি করে। তাত্ক্ষণিকভাবে সিস্টেম পিপ কমান্ড চালানোর চেষ্টা করা ( সমাধানগুলির কোনও প্রয়োগ না করে ) এখনও ওএস সিস্টেম $ প্যাথ অনুযায়ী /usr/bin/pip3যেটি ইনস্টল করা হয়েছে তার চেয়ে বেশি --user( পিপ র্যাপার স্ক্রিপ্টের অ্যাপট-ইনস্টলড সিস্টেম সংস্করণকে কল করবে ~/.local/bin/pip*) যেটি এখনও চালানোর জন্য নির্ধারিত রয়েছে মোড়কের সিস্টেম সংস্করণ, তবে এর লাইব্রেরিগুলি নয় ..
অ্যালেক্স সি

2
@ জর্জি কারণ এটি এখন একটি নতুন পাইপ প্যাকেজ ইনস্টল করা হয়েছে ~/.local/lib/python3.?/site-packages/pipযার সাথে পাইথন আমদানিতে তুলনামূলকভাবে সিস্টেমের চেয়ে বেশি প্রাধান্য পেয়েছে (ব্যবহারকারী-স্থানীয় সাইট বিশ্বব্যাপী লিওবগুলিকে প্রাধান্য দেয়)। এবং যেহেতু পুরানো মোড়কগুলি তার from pip import mainপরিবর্তে from pip._internalবা তার __main__ক্লাসটি পিপ প্যাকেজের নতুন সংস্করণের বিপরীতে চেষ্টা করে , তাই জিস্ট থেকে পাইপ কমান্ড ব্যর্থ হয় ImportError: cannot import name 'main'। সুতরাং উভয় পিপস এক সাথে থাকতে পারে (ডিস্কে) তবে মূল সিস্টেমের কার্যকারিতা একটি "ভাঙ্গা" হয়ে যাবে ..
অ্যালেক্স সি

+1 এর জন্য --userpip install --userএটা আমার জন্য কি করেছে। (আমার পাইথন ২.7, পাইথন ৩.6, এবং পাইথন ৩.7 রয়েছে, সবগুলি উবুন্টুতে 18.04
এলটিএসে

46

শুধুমাত্র এক পদক্ষেপে সমাধান।

আমিও এই সমস্যার মুখোমুখি হয়েছি, তবে এটিকে প্রায় 1 টি কমান্ডের সাহায্যে সমাধান করা যেতে পারে এবং ঘাটতি না করা এবং সময় নষ্ট না করে এবং আমি একাধিক সিস্টেমে এটি চেষ্টা করেছি এটি এই সমস্যার সমাধান এটি। এবং এটি:

পাইথন 3 এর জন্য: - sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

এটির সাহায্যে আপনি কেবল প্যাকেজগুলি ব্যবহার করে ইনস্টল করতে পারেন pip3। ব্যবহার পরীক্ষা করা pip3 --version

পুরোনো সংস্করণগুলি জন্য ব্যবহার করুন: sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall

এর মাধ্যমে, এখন আপনি কেবল প্যাকেজগুলি ব্যবহার করে ইনস্টল করতে পারেন pip। ব্যবহার পরীক্ষা করা pip --version


31

python -m pip installপরিবর্তে ব্যবহার করুনpip install

উদাহরণ:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

pip(রেস্প। pip3) এক্সিকিউটেবল আপনার ডিস্ট্রো দ্বারা উপলব্ধ (হয় python-pipউবুন্টু 16,04 উপর প্যাকেজ) এবং অবস্থিত /usr/bin/pip

সুতরাং, pipআপনি পাইপ আপগ্রেড করার সাথে সাথে প্যাকেজটি নিজেই আপ টু ডেট রাখে না এবং ভেঙে যেতে পারে।

আপনি যদি python -m pipসরাসরি সরাসরি ব্যবহার করেন তবে যেমন:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

এটি আপনার পাইথন পথ ধরে যায়, পাইপের সর্বশেষতম সংস্করণ খুঁজে পায় এবং সেই ফাইলটি কার্যকর করে utes

এটি ফাইলের মাধ্যমে এক্সিকিউটেবল হয় এই সত্যের উপর নির্ভর করে importতবে এটি একটি খুব প্রমিত মানের ইন্টারফেস, এবং তাই হ্যাকিয়ার দেবিয়ান স্ক্রিপ্টের চেয়ে কম ভাঙ্গার সম্ভাবনা কম।

তারপরে আমি নীচের এলিয়াসগুলি আপনার যুক্ত করার পরামর্শ দিচ্ছি .bashrc:

pip() ( python -m pip "$@" )
pip3() ( python3 -m pip "$@" )

উবুন্টু 18.04 /usr/bin/pip3ফাইলটি করে:

from pip import main

এবং সম্ভবত কিছু সময় mainথেকে সরানো হয়েছে pipযা জিনিসগুলি ভেঙেছে।

ব্রেকিং পাইপ প্রতিশ্রুতি হিসাবে দেখা যাচ্ছে: 95bcf8c5f6394298035a7332c441868f3b0169f4 "সমস্ত অভ্যন্তরীণ API গুলি পিপতে সরান in_ আন্তঃ" যা পিপ 18.0 এ গেছে।

pip39.0.1 থেকে 18.0 পর্যন্ত আপডেটের পরে উবুন্টু 16.04 এ পরীক্ষিত ।

pyenv

শেষ পর্যন্ত, মারাত্মক পাইথন বিকাশের জন্য আমি কেবলমাত্র আপনাকে নিজের স্থানীয় পাইথনটি পাইয়ানভ + ভার্চুয়ালেনভের সাথে ইনস্টল করার পরামর্শ দিচ্ছি, যা এই উবুন্টু বাগের চারপাশেও পাবেন: /ubuntu/682869/how-do-i- ইনস্টল-এ-বিভিন্ন-পাইথন-সংস্করণ ব্যবহার-কার্যক্ষম-পেতে / 1195153 # 1195153


3
5 ঘন্টা অনুসন্ধানের পরে, এটি আমার পক্ষে কাজ করেছিল। আপনি আমাকে আপনার ঠিকানা প্রেরণ করলে আমি আপনাকে ফুল সরবরাহ করতে পারি। ধন্যবাদ.
cagri

18

আপনি পিপ পুনরায় ইনস্টল করে এই সমস্যাটি সমাধান করতে পারেন।

পাইপ পুনরায় ইনস্টল করতে নিম্নলিখিত কমান্ড লাইন কমান্ডগুলির একটি ব্যবহার করুন:

Python2:

python -m pip uninstall pip && sudo apt install python-pip --reinstall

Python3:

 python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

16

অন্য কোনও পথে পাইপ ক্যাশে হয়েছে কিনা তা পরীক্ষা করে দেখুন, এটির জন্য $ কোন পাইপটি কল করুন এবং ত্রুটি থেকে অনুরোধ করা পথের চেয়ে পথটি পৃথক কিনা তা পরীক্ষা করে দেখুন:

$ hash -r

যখন ক্যাশেটি পরিষ্কার হবে, পিপ আবার কাজ করবে। তথ্যসূত্র: http://cheng.logdown.com/posts/2015/06/14/-usr-bin-pip-no-such-file-or-directory


8

আমি এমন একটি সিস্টেমে চালিয়ে যাচ্ছি যেখানে আমার সুডো অ্যাপ্লিকেশন রয়েছে তবে সুডো পাইপ নেই। (এবং কোনও সু প্রবেশাধিকার নেই)) পাইপের পরামর্শ অনুসরণ করে আমি নিজেকে এই একই পরিস্থিতিতে ফেলেছি:

আপনি পাইপ সংস্করণ 8.1.1 ব্যবহার করছেন, তবে 18.0 পাওয়া যায়। আপনার 'পিপ ইনস্টল - আপগ্রেড পাইপ' কমান্ডের মাধ্যমে আপগ্রেড করার কথা বিবেচনা করা উচিত।

অন্য কোনও ফিক্স আমার পক্ষে কাজ করেনি, কারণ আমার পর্যাপ্ত অ্যাডমিন সুবিধা নেই। যাইহোক, এই বিষয়ে পড়া থেকে আমার সাথে আটকে থাকা কয়েকটি জিনিস:

  • আমার এটা করা উচিত হয়নি। অবশ্যই, পাইপ আমাকে বলেছিল। এটা মিথ্যা।
  • --User ব্যবহার করে ব্যবহারকারী-কেবল ডিরেক্টরিতে মনোনিবেশ করে প্রচুর সমস্যা সমাধান করা হয়।

সুতরাং, আমি যেখানে ছিলাম সেখানে আমাকে ফিরিয়ে আনতে কাজ করার জন্য এই কমান্ড লাইনটি পেয়েছি। আপনি যদি 8.1.1 এর চেয়ে আলাদা সংস্করণ ব্যবহার করে থাকেন তবে আপনি অবশ্যই লাইনের সেই অংশটি পরিবর্তন করতে চাইবেন।

python -m pip install --force-reinstall pip==8.1.1 --user

এটাই আমার পক্ষে কাজ করেছে, তবে এটি পুরোপুরি কাজ করেছে!


7

python3 -m pip install --user pip==9.0.1(বা যে সংস্করণটি কাজ করেছিল) এর সাথে পুনরুদ্ধার করুন


5

নতুন এলএক্সসি (স্ট্রাইক) ব্যবহার করে পিক্সেলবুকে আমার কাছে একই ঘটনা ঘটেছে। এই সমাধানটি আমার কাছে সূক্ষ্ম পৃথক পাইপ 3 সহ একটি সূক্ষ্ম পার্থক্যের সাথে স্বীকৃত ব্যক্তির মতো similar

sudo python3 -m pip install --upgrade pip

এটি সংস্করণটিকে ধাক্কা দিয়েছে এবং এখন এটি প্রত্যাশার মতো কাজ করে।

আমি এটি এখানে পেয়েছি ... পাইথন.অর্গ: নিশ্চিত করুন পাইপটি আপ টু ডেট date


4

আমি আমার উবুন্টু 16.04 সিস্টেমে একই সমস্যাটি পেয়েছি met আমি নিম্নলিখিত কমান্ডের সাথে পুনরায় ইনস্টল করে এটি ঠিক করতে সক্ষম হয়েছি:

curl https://bootstrap.pypa.io/get-pip.py | sudo python3


উত্স থেকে এটি ইনস্টল করার সুবিধা রয়েছে এবং উপরের কোনওটিই ক্লিন খালি ডেবিয়ান 9 (আমার উত্সর্গীকৃত সার্ভার সরবরাহকারী থেকে)
পিটার রোজম্যান মায় 22'18

সুপার ব্যবহারকারীকে ইন্টারনেট কার্লিং করা, কী ভুল হতে পারে!
Sum1sAdmin

3

উপরের কমান্ডগুলি আমার পক্ষে কার্যকর হয়নি তবে সেগুলি খুব সহায়ক ছিল:

sudo apt purge python3-pip
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
sudo pip3 install jupyter

2

উবুন্টু 18.04.1 বায়োনিক বিভারে, সঠিক পরিবেশ পেতে আপনাকে লগ আউট এবং পুনরায় লগ ইন করতে হবে (পুনরায় আরম্ভ করার প্রয়োজন নেই)

$ sudo apt install python-pip

$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip install --upgrade pip

$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ exit
<login>

$ pip --version
pip 18.1 from /home/test/.local/lib/python2.7/site-packages/pip (python 2.7)

1

আমি কাজ করে sudo apt remove python3-pip তারপর ব্যবহার pip

 ~ sudo pip install pip --upgrade
[sudo] password for sen: 
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'
  ~ sudo apt remove python3-pip   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libexpat1-dev libpython3-dev libpython3.5-dev python-pip-whl python3-dev python3-wheel
  python3.5-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-pip
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 569 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 215769 files and directories currently installed.)
Removing python3-pip (8.1.1-2ubuntu0.4) ...
Processing triggers for man-db (2.7.5-1) ...
  ~ pip

Usage:   
  pip <command> [options]

1
এটি কারণ pipপাইথন ২ এর জন্য OP ওপি ব্যবহার করে pip3, পাইথন 3 সংস্করণ pip, যা আপনি সবে সরিয়েছেন। এই দুটি স্বতন্ত্র এবং বিনিময়যোগ্য নয়।
নিয়নস্টাইন 4'18

1

পাইথন সংস্করণের জন্য 2.7 @Anthony সমাধান নিখুঁত কাজ করে, পরিবর্তন করে python3 করার পাইথন নিম্নরূপ:

sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall

1

ব্যবহারের মাধ্যমে ত্রুটিটি সমাধান করার জন্য আমার পক্ষে কী কাজ করেছে pip3:

sudo cp -v /usr/local/bin/pip3 /usr/bin/pip3

সবকিছু সচল:

 demon@UbuntuHP:~$ pip -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

 demon@UbuntuHP:~$ pip2 -V
 pip 10.0.1 from /home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)

 demon@UbuntuHP:~$ pip3 -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

হতে পারে পিপ এর নতুন 10.0.1 সংস্করণটি / ইউএসআর / বিনে বাইনারি আপডেট করে না? (যা দেখে মনে হয় না)

সম্পাদনা: একই সমস্যা উবুন্টু 18.04 এ ঘটে। সবচেয়ে ভালো সমাধান আমি পেয়েছি থেকে পিপ বাইনেরিতে সিমবলিক লিঙ্ক হয় /home/<user/.local/binকরতে /usr/local/binবা /usr/binনিম্নরূপ, (আপনার পছন্দের উপর নির্ভর করে):

ln -sv /home/<user>/.local/bin/pip /usr/local/bin/pip
ln -sv /home/<user>/.local/bin/pip2 /usr/local/bin/pip2
ln -sv /home/<user>/.local/bin/pip2.7 /usr/local/bin/pip2.7
ln -sv /home/<user>/.local/bin/pip3 /usr/local/bin/pip3
ln -sv /home/<user>/.local/bin/pip3.6 /usr/local/bin/pip3.6

দ্রষ্টব্য:<user> আপনার বর্তমান চলমান ব্যবহারকারীর সাথে প্রতিস্থাপন করুন

সম্পর্কিত সংস্করণ (সর্বশেষ) এতে রয়েছে:

সংস্করণ 3.6:

/home/demon/.local/lib/python3.6/site-packages/pip (পাইথন ৩.6)

সংস্করণ 2.7:

/home/demon/.local/lib/python2.7/site-packages/pip (পাইথন ২.7)


এটি আমার সমস্যা সমাধান করেছে। অন্যান্য উত্তর দেয় না।
আমিন হুসনি

1
/usr/binযদিও আপনাকে অবশ্যই সরাসরি ফাইলগুলির সাথে বিশৃঙ্খলা করা উচিত নয় । এবং, আপনার আগে PATHভুল /usr/local/binনা হয় /usr/bin
ট্রিপলি

পাইপ বাইনারি উপস্থিত নেই /usr/local/bin। এটি কেবলমাত্র /home/<user>/.local/binএবং / অথবা /home/<user>/.local/lib/python<version>/site-packages/pipনতুন সংস্করণগুলিতে (v10.0 + বাইনারি আপডেট করবেন না /usr/bin)। সুতরাং বাইনারিটির একটি অনুলিপি বা সিমলিংক তৈরি করার প্রয়োজন হয় /usr/binবা /usr/local/bin(ব্যবহারকারীর পছন্দের উপর নির্ভর করে) যাতে পাইপটি বিশ্বব্যাপী কমান্ডলাইন থেকে চালানো যেতে পারে।
ক্রিপ্টোবয়

ডিরেক্টরি পাইপ বাইনারিগুলি বিদ্যমান এবং এর থেকে লিঙ্ক / অনুলিপি করা উচিত: রাক্ষস @ বিওনিক 18: ~ / .local / bin $ ls পিপ পিপ 2 পিপ 2.7 পিপ 3 পিপ 3.6 pipবাইনারি ডিফল্ট সিস্টেমে ইনস্টল হওয়া সর্বশেষ সংস্করণে
ক্রিপ্টোবয়


0

আমার এই একই ত্রুটি python -m pipছিল , তবে এখনও কাজ করছিলাম, তাই আমি এটি পারমাণবিক বিকল্প দিয়ে স্থির করেছিলাম sudo python -m pip install --upgrade pip। এটা আমার জন্য এটা।


0

এটির মূল্যের জন্য, আমার সমস্যা ছিল pip(না pip2বা pip3):

$ pip -V
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

কোনওভাবে (আমি কীভাবে মনে করতে পারি না) আমার ~/.localডিরেক্টরিতে পাইথন স্টাফ ইনস্টল ছিল । আমি সেখান থেকে পাইপ ডিরেক্টরি সরানোর পরে pipআবার কাজ শুরু করি।

$ rm -rf /home/precor/.local/lib/python2.7/site-packages/pip
$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

0

প্যাকেজগুলির সাথে কিছু ভুল আছে, যখন এটি ফাইল / ইউএসআর / বিন / পাইপ তৈরি করে, আপনাকে আমদানি পরিবর্তন করতে হবে:

from pip import main

প্রতি

from pip._internal import main

এটি সমস্যার সমাধান করে, কেন এটি উত্পন্ন তা সম্পর্কে আমি নিশ্চিত নই, তবে এটি নিম্নলিখিত ইস্যুতে সামান্য কিছু বলেছে:

পাইপতে পিপ 10 আপগ্রেডের পরে "আমদানি ত্রুটি: নাম 'প্রধান' আমদানি করতে পারে না


0

আপনি এটি চেষ্টা করতে পারেন:

sudo ln -sf $( type -P pip ) /usr/bin/pip

3
এই কোডটি প্রশ্নের উত্তর দিতে পারে, তবে এটি কীভাবে কাজ করে এবং কখন এটি ব্যবহার করবে তা ব্যাখ্যা করে কিছু প্রসঙ্গ অন্তর্ভুক্ত করা ভাল। কোড-কেবল উত্তরগুলি দীর্ঘমেয়াদে কার্যকর নয়।
জিউলিও ক্যাক্সিন

0

আমি pip pip39.0.1 থেকে 19.2.3 থেকে সিস্টেম আপগ্রেড করতে চাইলে আমিও এই সমস্যার মধ্যে পড়েছি।

চলমান পরে pip3 install --upgrade pip, pipসংস্করণ 19.2.3 হয়। তবে সর্বশেষতম সংস্করণে main()স্থানান্তরিত হয়েছে pip._internal, যা pip3ভেঙে যায়।

সুতরাং ফাইল /usr/bin/pip3, প্রতিস্থাপন line 9: from pip import mainসাথে from pip._internal import main। সমস্যাটি স্থির হবে, একই জন্য কাজ করে python2-pip। (উবুন্টু 18.04 বিতরণে পরীক্ষিত)

@ ভিনসেন্ট এইচ এর উত্তর অনুযায়ী


0

ঠিক করার জন্য দয়া করে নীচের কমান্ডগুলি চালান। দৌড়ানোর পরে python3 -m pip install --upgrade pip, দয়া করে নিম্নলিখিত কমান্ডটি চালান।

hash -r pip

সূত্র: https://github.com/pypa/pip/issues/5221


0

আপনি কেবল পিপ এবং পাইপ 3 টি ব্যবহার করে পাথগুলি ঠিক করতে পারেন update-alternatives

প্রথম জিনিসটি যা আপনার চেক করা উচিত তা হ'ল আপনার বর্তমান $PATH রান echo $PATHএবং দেখুন /usr/local/binপাইপ 3 এবং পাইপ সাধারণত কোথায় থাকে তা আপনি খুঁজে পেতে পারেন

আপনার সিস্টেমটি এখানে দেখছে এমন একটি পরিবর্তন রয়েছে /bin/pipএবং /bin/pip3 তাই আমি বলব আপনার ~/.bash_profileফাইলটিতে প্যাথটি ঠিক করুন যাতে এটি স্থির থাকে

export PATH=$PATH:/usr/local/bin এবং তারপর চেক তার সঙ্গে সংশোধন করা হয়েছে which pipএবংwhich pip3

যদি না হয় তবে update-alternativesশেষ পর্যন্ত এটি ঠিক করতে ব্যবহার করুন

update-alternatives --install /bin/pip3 pip3 /usr/local/bin/pip3 30

এবং আপনি যদি পিপ 3 পিপ করতে চান তবে

update-alternatives --install /bin/pip pip /usr/local/bin/pip3 30

0

এটা আমার জন্য কাজ করেছে!

hash -r pip # or hash -d pip

এখন, পাইপ ইনস্টল করা সংস্করণ আনইনস্টল করুন এবং নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এটি পুনরায় ইনস্টল করুন।

python -m pip uninstall pip  # sudo
sudo apt install --reinstall python-pip

পাইপ নষ্ট হয়ে গেলে ব্যবহার করুন:

python -m pip install --force-reinstall pip

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


-1

পাইপ থেকে আমদানি করুন

from pip._internal import main

থেকে পাইপ কোডটি সম্পাদনা করুন

sudo nano /usr/bin/pip3

আপনি উত্তরটি সম্পাদনা করতে এবং আরও ভাল নির্দিষ্ট করতে পারেন? ফাইলটি কীভাবে সম্পাদনা করা যায় তা খুব স্পষ্ট নয় /usr/bin/pip3...
এম ভল্ফ

-1

@ ক্রাইপ্টোবয়ে যেমন বলেছিলেন - আপনি কী পাইপ / পাইথন সংস্করণ ইনস্টল করেছেন তা পরীক্ষা করে দেখুন

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

এবং তারপরে আপনার .local / lib / ফোল্ডারে কোনও প্রয়োজনীয় লাইব্রেরি পরীক্ষা করুন।

আমি যখন নতুন কুবুন্টুতে স্থানান্তরিত হচ্ছিলাম এবং আমার হোম ডিরেক্টরিতে .local / lib / python2.7 / ফোল্ডারটি ছিল তখন আমি সেটিংসের ব্যাকআপটি করেছি। পাইথন ইনস্টল করেছেন 3.. 3.। আমি সবেমাত্র পুরানো ফোল্ডারটি সরিয়েছি এবং এখন সবকিছু দুর্দান্ত কাজ করে!


-1

ডেবিয়ানে আপনাকে প্রথমে অ্যাপ্লিকেশন আপডেট করতে হবে ....

sudo apt-get update -qq
sudo apt-get install python-pip -qq
sudo pip install pip --upgrade --quiet
sudo pip2 install virtualenv --quiet

আপনি যদি 'sudo apt-get update -qq' এড়িয়ে যান তবে আপনার পাইপটি দুর্নীতিগ্রস্থ হয়ে যাবে এবং 'প্রধান খুঁজে পাবে না' ত্রুটি প্রদর্শন করবে।


-1

এই ত্রুটিটি কোনও অনুমতি হতে পারে। সুতরাং, -H পতাকা সহ কমান্ডটি কার্যকর করে পরীক্ষা করুন :

sudo -H pip3 install numpy

প্রশ্নটি খুব স্পষ্ট করেই বলেছে আমদানি ত্রুটি কোনও অনুমতি ত্রুটি নয়
অ্যান্টনি সটাইল

-1

যে কোনও পাইপ কমান্ড কার্যকর করার আগে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

hash -d pip

এটা কাজ করবে


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