পিপ 3 আমদানি চলমান: নাম 'প্রধান' আমদানি করতে পারে না


21

আমি স্কিপি ইনস্টল করতে চাই (ইতিমধ্যে নম্পি ইনস্টল করা আছে)। আমি পাইথনকে 3.5.1.3.3 ওএস এবং আইডিএল 3 (3.5) এর সাথে ইনস্টল করেছি। আমি যখন টার্মিনাল হিট

sudo pip3 install scipy

এটি প্রিন্ট আউট

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

আমি ইতিমধ্যে পাইপ 3 পুনরায় ইনস্টল এবং ওএস পুনরায় চালু করার চেষ্টা করেছি, তবে এটি পরিবর্তন হয়নি। পাইপ 3 কি অন্য কারও সাথে অদ্ভুতভাবে কাজ করছে?

উত্তর:


10

উম্পুনুর সমস্ত সমর্থিত সংস্করণগুলির ডিফল্ট ভাণ্ডারগুলিতে নম্পি এবং স্কিপি রয়েছে। পাইথন 3.x এর জন্য নম্পতি এবং স্কিপি ইনস্টল করতে টার্মিনালটি খুলুন এবং টাইপ করুন:

sudo apt update    
sudo apt install python3-numpy python3-scipy  

পাইথন ২.x এর জন্য এটি:

sudo apt update  
sudo apt install --no-install-recommends python2.7-minimal python2.7 # this line is only necessary for Ubuntu 17.10 and later 
sudo apt install python-numpy python-scipy

1
পাইথন 3-স্কিপি ঠিক কাজ করেছে। ধন্যবাদ!
ইনভারটিবল হগ ডগ

1
অন্য উত্তর হিসাবে বলা হয়েছে, এই উত্তরটি অন্তর্নিহিত ইস্যুটির সাথে সম্পর্কিত নয়, যা পাইপের সাথে করতে হবে।
সিজউভিন

এটি খারাপ পদ্ধতি ...
ডার্কওলফ

26

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

উদাহরণ:

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

আমি pipআপগ্রেড করার পরে এই সমস্যাটি পেতে শুরু করেছি :

pip install --upgrade --user pip

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

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

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

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

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

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

তারপরে আমি নীচের এলিয়াসগুলি আপনার যুক্ত করার পরামর্শ দিচ্ছি .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

শেষ পর্যন্ত, মারাত্মক পাইথন বিকাশের জন্য আমি কেবলমাত্র আপনাকে নিজের স্থানীয় পাইথনটি পাইয়ানভ + ভার্চুয়ালেনভের সাথে ইনস্টল করার পরামর্শ দিচ্ছি, যা এই উবুন্টু বাগের চারপাশে পাওয়া যাবে: আমি কীভাবে একটি আলাদা পাইথন সংস্করণ ইনস্টল করব অ্যাপটি -ব্যবহার করে?


1
সুতরাং এটি কাজ করে, তবে আমি এখানে একমাত্র মাথা নাড়তে পারি না। ভাঙ্গন কোথায়? ডিফল্ট পাইপ আপগ্রেড কেন নতুনভাবে এইভাবে কাজ চালিয়ে যাওয়ার পথে সেট আপ করতে ব্যর্থ হয়?
স্টিভেন লু

@ স্টিভেনলু আমার বোঝার বিষয়টি হ'ল এটি /usr/bin/pipএকটি উবুন্টু পাইথন প্যাকেজ সরবরাহ করেছে এবং pipএটি ওভাররাইট করে না। তবে এটি নিজেই pip updateপরিচালিত হয় pipএবং উবুন্টু ফাইলগুলিকে স্পর্শ করা এড়ানো হয়।
সিওরো সান্তিলি 事件 改造 中心 法轮功 六四 事件

হাই হো একই অভিজ্ঞতা এখানে। পাইপ 3 আমি যা করলাম তা বিবেচনা করে না। এই সমাধান কাজ করে, তবে কীভাবে আসবে ?? পাইথন পাইপ স্ক্রিপ্টটি তৈরি করেছে Debian- মন্তব্যটি বলে: 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. সম্ভবত পাইথনটি পাইথন-ওয়েতে সঠিকভাবে ইনস্টল করার উপায় রয়েছে।
হবে

@ তবে আমি এই ডকুমেন্টেশন মন্তব্য সম্পর্কে নিশ্চিত নই, তবে আমি নিশ্চিত যে কোডটি কী করবে /usr/bin/pip:-)
সিরো সান্তিলি 事件 改造 中心 法轮功 六四 事件

20

বাগটি পাইপ 10.0.0 এ পাওয়া যায়।

লিনাক্সে আপনাকে ফাইলটি পরিবর্তন করতে হবে: / usr / বিন / পিপ থেকে:

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

এটি:

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

এই শৈলীর কাজটি দলের দ্বারা প্রস্তাবিত বলে মনে হয় নাpip
jdk1.0

তুমি আমার দিন বাঁচিয়েছো !!
সৌরভ সিংহ

8

আমার একই সমস্যা ছিল, তবে অ্যাপটি এবং পাইপটি আনইনস্টল করে পুনরায় ইনস্টল করা আমার পক্ষে কাজ করে না।

আমি আরও একটি সমাধান দেখেছি যা পাইপ 3 পথ পুনরুদ্ধার করার একটি সহজ উপায় উপস্থাপন করে:

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

এটি পিপ 3 এর আমার সংস্করণ 19.0.3 থেকে 8.1.1 থেকে ডাউনগ্রেড করেছে, তবে এটি লক্ষণটি ঠিক করেছে।
হক্কে পার্কার

6

কারেল আপনার "ইনস্টল নিম্পি এবং স্কিপি" সমস্যাটি সমাধান করে থাকতে পারে, আপনার সিস্টেমে পিপের কী সমস্যা রয়েছে তা সমাধান করা হয়নি, তাই সম্ভবত পিপ এগিয়ে যাওয়ার ক্ষেত্রে আপনার আরও সমস্যা হবে।

এখানে খুঁজছেন , এটি উবুন্টু সিস্টেমে পিপ 10 সহ একটি সাম্প্রতিক সাধারণ সমস্যা বলে মনে হচ্ছে। সেই থ্রেডের আশেপাশে আপনি এমন কিছু কাজ খুঁজে পেতে পারেন যা আপনার জন্য কাজ করে তবে আশা করি কোনও আপডেট শীঘ্রই এটি ঠিক করে দেবে।


সমস্যাটি সমাধান করার জন্য এবং এমন কোনও কাজ না দেওয়ার জন্য আপনাকে ধন্যবাদ যা কেবলমাত্র আংশিকভাবে এবং কেবলমাত্র একক ব্যক্তির জন্যই সমস্যাটি সমাধান করে ...
কালেব ফেন্টন

3

অ্যাপ এবং পাইপ উভয় থেকেই পাইপ ইনস্টল করা এর কারণ হতে পারে।

আমার ক্ষেত্রে, আমি পাইপেনভ ইনস্টল করতে উবুন্টুর পাইপ প্যাকেজটি ব্যবহার করেছি যা পরে পিপের একটি নতুন অনুলিপি ইনস্টল করে। এখন আমার শেল উবুন্টুর পিপ 9 স্ক্রিপ্ট চালায় (রান যাচাই করতে which pip3) এবং আমার পাইথন ইন্টারপ্রেটার তখন পাইপ 10 মডিউলটি আমদানি করে, পিপ 3 কমান্ড ব্যর্থ হয়। সুতরাং আমি দুটির মধ্যে একটি আনইনস্টল করতে চাই।

কোনও কারণে আপনার কাছে নতুন পাইপ রয়েছে তা অনুমান করা মোটেই উপযুক্ত। সেক্ষেত্রে আপনি পুরানো পাইপগুলি এর মতো আনইনস্টল করতে চান:

sudo apt remove python3-pip

আপনি যদি নিশ্চিতভাবে জানেন যে আপনি পুরানো পাইপটি দিয়ে ভাল আছেন এবং সিস্টেম প্যাকেজটি পছন্দ করেন তবে আপনি নতুনটি আনইনস্টল করতে চাইবেন:

~/.local/bin/pip3 uninstall pip

বা যে ব্যর্থ

sudo /usr/local/bin/pip3 uninstall pip


1

আদর্শ

hash -d pip3

এটি এই ত্রুটি অপসারণ করা উচিত


3
আপনার উত্তর সম্পর্কে আপনি আরও ব্যাখ্যা দিতে পারেন: 'হ্যাশ' কী এবং কেন এটি ত্রুটিটি সরিয়ে দেবে?
মার্ক ভানহোমিসসেন

1

এই গিথুব পৃষ্ঠায় দেখানো মত ফোর্স পুনরায় ইনস্টল করা পাইপ বেশিরভাগ ব্যবহারকারীর পক্ষে ঠিক কাজ করে :

python -m pip install --force-reinstall pip

ধন্যবাদ. পূর্ববর্তী সমস্ত উত্তর
খারাপভাবে

0

আমার ইস্যুটি পাইথন ৩. and এবং ৩.7 এর মধ্যে মিল নয়। পাইথন ৩..6 ইনস্টলেশনটি একটি লিঙ্ক স্থাপন করে /usr/bin/python3 -> /usr/bin/python3.6যদিও সিস্টেমটি পাইথন ৩..7 এ আপগ্রেড হয়েছিল।

sudo apt purge python-pip
sudo apt purge python3-pip
sudo apt install python3.7 --reinstall
cd /usr/bin
sudo rm python3
sudo ln -s python3.7 python3
python3 --version
pip3 --version

-1

এটি আমার পক্ষে কাজ করেছে:

pip install --upgrade --user pip

দ্বারা install --upgrade, আমি আপনাকে ইনস্টল করার চেষ্টা করছি যা বোঝাতে চাই।

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