पाइप: कोई मॉड्यूल जिसका नाम _internal नहीं है


97

मुझे एक समस्या है जब मैं किसी भी तरह से पाइप का उपयोग करने की कोशिश करता हूं। मैं Ubuntu 16.04.4 का उपयोग कर रहा हूं

मुझे यह कहना चाहिए कि मैंने इसे पहले ही उपयोग कर लिया है, और मुझे कभी कोई समस्या नहीं हुई, लेकिन आज से जब मैं किसी भी कमांड का उपयोग करता हूं, तो मुझे हमेशा एक ही त्रुटि मिलती है (उदाहरण के रूप में pip --upgrade)।

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ImportError: No module named _internal

मैं कर की कोशिश की है sudo apt-get remove python-pip, जिसके बाद sudo apt-get install python-pipलेकिन कुछ भी नहीं बदला।


सुनिश्चित करें कि आपके में /usr/local/lib/pythonX.X/site-packagesपहले /usr/lib/pythonX.X/site-packagesसे है $PATH
फहराना

एक ही मुद्दा यहाँ। क्या आपको एक समाधान मिला?
WayBehind

3
@AyBehind मुझे एक समाधान मिला। मैंने देखा कि python -m pipसब कुछ का उपयोग करना ठीक काम करता है। कि बगल में, मैं फ़ाइल को हटा दिया /usr/local/bin/pip, अब बुला pip -Vवापसी pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)। सब कुछ उम्मीद के मुताबिक काम करता है।
ग्रीमडर्म

मैं अभी भी एक ही समस्या है, मैं conda वातावरण में पाइप का उपयोग कर रहा हूँ, अजगर 2.7 और मैं पाइप स्थापित ipdb का उपयोग कर रहा हूँ। इस बारे में कोई विचार?
गर्विता तिवारी

1
निम्न चरणों का पालन करें -H ध्वज:sudo -H python3.7 get-pip.py --force-reinstall
एंड्रेस लियोन रंगेल

जवाबों:


110

यह मेरे लिए यह किया है:

python -m pip install --upgrade pip

पर्यावरण: OSX और& पायथन काढ़ा के माध्यम से स्थापित किया गया


6
धन्यवाद, यह मेरे लिए python3 का उपयोग कर समाधान था।
फ्यूरोबिनेटर

2
इसने मेरे लिए काम नहीं किया। @Grimdrem ने जो किया वह मैंने किया। मेरे पास (अतीत में) सभी के लिए पाइप स्थापित किया गया था (sudo या कुछ का उपयोग करके) ... और मेरा अपग्रेड था-user के साथ तो दूसरा इंस्टॉल अभी भी लटका हुआ था ... इसे / usr / लोकल / बिन से हटाकर और मेरे द्वारा मुख्य अजगर के पैकेज फ़ोल्डर (नहीं है --user) ने चाल चली।
user1269942

अजीब तरह से यह भी यहाँ तय किया गया है। मुझे #searx को नवीनतम प्रतिबद्ध में अपग्रेड करना था।
रोलैंड

WSL पर Ubuntu पर इस में भाग गया। मैं भी उपयोग करता हूं pyenv, लेकिन किसी तरह सिस्टम अजगर का vimउपयोग करता है। इसने उन चीजों को रखा जहां उन्हें जरूरत थी। और अब taskwikiफिर से काम करता है। वाह!
डैनियल ब्लैक

धन्यवाद, यह मेरे लिए काम करता है, मैं अजगर का उपयोग कर रहा हूँ 3.8
ओनापो

62

AskUbuntu के काम का एक जवाब ।

Pip2.7 के लिए, आप सबसे पहले पाइप को curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pyफिर python2.7 get-pip.py --force-reinstallसे इंस्टॉल कर सकते हैं ।

समस्या सुलझ गयी। Python3 के लिए भी काम करता है।


6
यह मेरे लिए काम नहीं कर रहा है, मैंने कई बार यह कोशिश की है
क्लीव ग्रीन

1
मैंने इसे अजगर को फिर से स्थापित करके तय किया है, जो अब एक पूर्ण दर्द था कि मेरे पास मेरे पिछले मॉड्यूल में से कोई भी नहीं है
क्लेव ग्रीन

बस इस मुद्दे को काटते हुए, ऐसा लगता है कि apt-get install python-pipयह 16.04.4 पर काम नहीं कर रहा है और आप बाइनरी ब्लॉब इंस्टॉलर का सहारा ले सकते हैं?
जो

1
यह काम करने के लिए मुझे अपने सभी सिस्टम साइड पाइप चीजों को हटाना पड़ा :apt-get remove python-pip-whl
Jan

"अनुमति नहीं मिली"। आप शायद sudo का उपयोग करने की आवश्यकता है। अधिकांश डिस्ट्रोस वेनिला उपयोगकर्ताओं को पाइप सिस्टम को स्थापित करने की अनुमति नहीं देते हैं।
सेरिन

21

यह समाधान मेरे लिए काम करता है:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

या उन्नत अनुमतियों के लिए sudo का उपयोग करें ( sudo python3 get-pip.py --force-reinstall)।

बेशक, आप के pythonबजाय का उपयोग कर सकते हैं python3;)

स्रोत


19

इस मुद्दे की सूची देखें

sudo easy_install pip

मैक ओएस के तहत मेरे लिए काम करता है

के लिए python3, कोशिश कर सकते हैं sudo easy_install-3.x pipअजगर 3.x संस्करण पर निर्भर करता है। याpython3 -m pip install --user --upgrade pip


1
वह पुराना अजगर 2 है। Python3 Ubuntu पर कम से कम आपको भी चलना चाहिए sudo easy_install-3.4 pipया इसी तरह का।
NoBugs

11

फ़ाइल में "/ usr / स्थानीय / बिन / पाइप" में परिवर्तन from pip._internal import main होता हैfrom pip import main


9

यह समस्या शायद आम उपयोगकर्ता को संकुल py फ़ाइल तक पहुँचने का विशेषाधिकार नहीं है।
1. रूट उपयोगकर्ता 'पाइप सूची' चला सकते हैं
। 2. अन्य आम उपयोगकर्ता 'पाइप सूची' नहीं चला सकते हैं

[~]$ pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal

पाइप पाई फ़ाइल विशेषाधिकार की जाँच करें।

[root@]# ll /usr/lib/python2.7/site-packages/pip/  
合計 24  
-rw-------  1 root root   24  6  7 16:57 __init__.py  
-rw-------  1 root root  163  6  7 16:57 __init__.pyc  
-rw-------  1 root root  629  6  7 16:57 __main__.py  
-rw-------  1 root root  510  6  7 16:57 __main__.pyc  
drwx------  8 root root 4096  6  7 16:57 _internal  
drwx------ 18 root root 4096  6  7 16:57 _vendor  

समाधान: रूट उपयोगकर्ता लॉगिन और रन

chmod -R 755 /usr/lib/python2.7 

इस समस्या को ठीक करें।


अंत में एक तार्किक व्याख्या कि वास्तव में समस्या क्या है। पुन: स्थापित करने से समस्या हल हो सकती है लेकिन यह वास्तविक कारण है कि यह पहली जगह में काम नहीं कर रहा है।
मैक्सिम वायार्ग्स

6

पूर्णता के लिए, मुझे बस "उबंटू नवीनतम" ... v18.04 ... के साथ इस समस्या का सामना करना पड़ा और इसे इस तरह से तय किया:

python3 -m pip install --upgrade pip

(ध्यान दें कि यह निर्दिष्ट करना आवश्यक था python3क्योंकि पायथन 3.6.9 इस संदर्भ में। pythonसमान सिस्टम पर कमांड Python 2.7.17 का संदर्भ देता है। चूंकि यह स्पष्ट रूप से एक सिस्टम-वाइड इंस्टॉलेशन है, जिसका सामना ["नहीं sudo" ...] अनुमति से हुआ है त्रुटि, लेकिन इससे कोई फर्क नहीं पड़ा क्योंकि यह वैसे भी गलत काम था। मैं समस्या का सामना कर रहा था pip3।)


मुझे no such option: --upradeआपकी आज्ञा पर त्रुटि हुई - इसलिए मैं भाग गया python3 -m pip install pipऔर इसने काम किया :)
ज़ेरुस

5

मैंने इस मुद्दे को तब देखा है जब PYTHONPATHबिल्ट-इन site-packagesडायरेक्टरी को शामिल करने के लिए सेट किया गया था । चूंकि पायथन स्वचालित रूप से वहां दिखता है इसलिए यह अनावश्यक है और इसे हटाया जा सकता है।


2
यह मेरे लिए इसे हल किया, धन्यवाद। मैंने बस कहीं $ PYTHONPATH को बचाया, फिर export PYTHONPATH=""पाइप काम करने के लिए दौड़ा ।
इबोवन

लेकिन जब $ PYTHONPATH की प्रतिध्वनि की कोशिश की गई, तो साइट-पैकेज शामिल नहीं थे।
एलिसैलेयाह

एक सिस्टम पर वर्चुअल वातावरण का निर्माण करते समय मुझे इसका सामना करना पड़ा जो सॉफ्टवेयर पैकेजों को प्रबंधित करने के लिए मॉड्यूल का उपयोग करता है। जब मैं लोड करता हूं तो आप कहते हैं "मॉड्यूल लोड अजगर / 3.5.2" और यह आपके प्रीपेंड करता है PYTHONPATH। फिर जब मैंने अपने वर्चुअल एनवी को सक्रिय किया, तो इसने मेरे PYTHONPATH को कभी भी परेशान नहीं किया, जिसका मतलब था कि यह सिस्टम स्तर पाया गया था pipऔर मेरे वर्चुअलनेव में कोई नहीं था।
चिड़चिड़ा_फीड_स्कैंड्रॉम

4

मुझे बस एक ही समस्या का सामना करना पड़ा और मेरे मामले में, यह पता चला कि यह मेरे वर्चुअनव और साइट-व्यापी अजगर (उबंटू) में अजगर स्थापना के बीच संघर्ष है। मेरे लिए यह सही है कि इस तरह से पाइप चलाएं, सही अजगर स्थापना के उपयोग को मजबूर करने के लिए (मेरे vortualenv में):

python3 -m pip install PACKAGE

के बजाय

pip3 install PACKAGE

मुझे इस बात का अहसास तब हुआ जब मैंने यहां कुछ उत्तरों का पालन करने की कोशिश की जो कि पाइप को फिर से स्थापित करने का सुझाव देते हैं और मुझे जो त्रुटि आउटपुट मिला है वह एक मौजूदा साइट-वाइड पायथन लाइब्रेरी पथ की ओर इशारा कर रहा था, हालांकि मैंने अपना वर्चुअन सक्रिय कर दिया था। सामान को हटाने और फिर से स्थापित करने से पहले वर्थ की कोशिश करना।


जैसा कि इस उत्तर में उल्लेख किया गया है stackoverflow.com/a/50737296/1340995 यह एक अनुमति मुद्दा है। मैंने पाया कि python3 -m pipइस मुद्दे को हल करने के साथ ही पाइप का उपयोग करना , शायद इसलिए pythonकि इसे निष्पादित करने की अनुमति है और इसे पाइप की + x अनुमति की आवश्यकता नहीं है क्योंकि यह फ़ाइल लोड कर रहा है और इसे निष्पादित नहीं कर रहा है।
मैक्सिम वायार्गेट्स

3

क्या आप python2 या python3 का उपयोग कर रहे हैं? निम्नलिखित आदेश अलग हो सकता है!

  1. python3 -m pip --versionयह देखने के लिए उपयोग करें कि क्या आपके पास पाइप स्थापित है।
  2. यदि हाँ, भागो python3 -m pip install --upgrade pip
  3. यदि नहीं, sudo apt-get install python3-pipतो फिर से चलाएँ , और करें।

3

शायद संस्करण के संघर्ष के कारण, इसे चलाने की कोशिश करें, यह किसी भी तरह पुराने पाइप को हटा देगा।

sudo apt remove python pip

इसके लायक क्या है, यह एक डेबियन-जैसे डिस्ट्रो ( जैसे , Ubuntu 16.04) के लिए समाधान प्रतीत होता है , जहां python-pipपैकेज को डिस्ट्रो लेवल पर स्थापित get-pip.pyकिया गया था , और जिसका उपयोग उपयोगकर्ता-विशिष्ट संस्करण के लिए pipभी किया गया था $PATH। मैं sudo apt-get removed python-pipपैकेज (2.7) और बदले मेरी ~ / .local / बिन में एक प्रयोग किया जाता है। कोई और त्रुटि संदेश नहीं।
TheDudeAbides


2

मैंने निम्न कमांड चलाकर इस त्रुटि को ठीक किया है:

sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

यह पहले से स्थापित पाइप को हटा देगा और इसे फिर से स्थापित करेगा। धन्यवाद :)


1

निम्नलिखित समाधान ने मेरी मशीन पर python2.7 के लिए समस्या हल कर दी "$ कर्ल https://bootstrap.pypa.io/get-pip.py-get get-pip.py" और फिर "$ sudo python2_ get-pip .py --force-Restore


1
यह मेरे लिए काम करता है लेकिन आपको इसे अपने द्वारा उपयोग किए जा रहे अजगर संस्करण में बदलना होगा। sudo python3 get-pip.py --force-Restore। महान।
एलिसैलेयाह

1

मौजूदा उपयोगकर्ताओं के लिए केवल:

easy_install --user pip

या

python -m pip install --upgrade --user pip

दूसरा भी दे सकता है /usr/bin/python: No module named pip भले ही which pipपाइप नाम का मॉड्यूल मिल जाए। इस मामले में प्रयास करेंeasy_install


1

मुझे विंडोज पर वही त्रुटि मिली जब मैंने pip3 के माध्यम से एक पैकेज स्थापित करने की कोशिश की:

Traceback (most recent call last):
  File "d:\anaconda\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\anaconda\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda\Scripts\pip3.6.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip._internal'

मेरा अजगर एनाकोंडा के माध्यम से स्थापित है। मैं इस मुद्दे को conda के माध्यम से पाइप को पुनः स्थापित करके हल किया:

conda install pip

उसके बाद, पाइप सामान्य पर लौटता है।


0

मेरे लिए कुछ भी काम नहीं किया, लेकिन केवल एक चीज: मैंने कमांड के सामने सुडो का इस्तेमाल किया और यह ठीक काम कर रहा है।


मेरा मामला अजीब था क्योंकि "सुडो" ने अभी भी मुझे वही त्रुटि दी है। मैं root3.5 सूची और pip3.5 स्थापित करने में सक्षम होने के लिए रूट (sudo su पर ubuntu) पर स्विच करने के लिए था:
जूल

0

मुझे अपने वर्चुअल वातावरण पर वही समस्या है जो 3.6 से 3.7 में अजगर स्थापना को अपग्रेड करने के बाद होती है, लेकिन केवल वेंट ग्लोबली पाइप काम पर ठीक है, इसे हल करने के लिए मैं अपने वर्चुअल वातावरण को फिर से बनाने और हटाने के बाद फिर से तैयार करता हूं और अब ठीक है, वेनव पर:

deactivate
rm -rvf venv 

और आभासी वातावरण को फिर से बनाने के बाद। मैं मैक ओएस 10.11 का उपयोग करता हूं, और अजगर 3


0

(विंडोज़ पर) यह निश्चित नहीं था कि ऐसा क्यों हो रहा था, लेकिन मेरे पास अपने pYTHONPATH सेटअप को c: \ python27 पर इंगित करने के लिए था जहां अजगर स्थापित था। virtualenv के साथ संयोजन में यह उल्लेख बग का उत्पादन किया।

PYTHONPATH env var को एक साथ हटाकर हल किया गया


0

मेरा समाधान: पहला कदम जैसे अन्य उत्तर:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python2.7 get-pip.py --force-reinstall

दूसरा, सॉफ्ट लिंक जोड़ें

sudo ln -s /usr/local/bin/pip /usr/bin/pip


0

आप इसे पहले हटा सकते हैं, और फिर से स्थापित कर सकते हैं, यह ठीक होगा। सेंटो के लिए:

yum remove python-pip
yum install python-pip

0

मैंने इस समस्या को ठीक कर दिया

sudo apt-get install python3-pip

यह भी python2.7 के लिए काम किया, अद्भुत ...


0

मेरा समाधान कमांड import pipसे जुड़ी स्क्रिप्ट में जोड़ रहा है pip/pip3

सबसे पहले, फ़ाइल /usr/local/bin/pipको अपने पसंदीदा पाठ संपादक और sudo मोड के साथ खोलें (जैसे )। उदाहरण के लिए, मैं sudo vim /usr/local/bin/pipस्क्रिप्ट फ़ाइल खोलने के लिए उपयोग करता हूं ।

आपको निम्नलिखित के रूप में कुछ फ़ाइल प्राप्त होगी:

import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

बाद में, इस मुद्दे को हल करने से import pipठीक पहले स्टेटमेंट डालें from pip._internal import main


0

ये अक्सर पाइप को "अपडेट" करने के लिए सिस्टम इंस्टॉल किए गए पाइप, और / या उपयोगकर्ता के तहत कई पाइप इंस्टॉल करने से आता है। मेरा समाधान उपयोगकर्ता के तहत कई स्थापित पिप्स को साफ करने के लिए, पाइप रेपो को फिर से स्थापित करना था, फिर ऊपर के रूप में "पाइप इंस्टॉल - वसर पाइप"।

देखें: https://github.com/pypa/pip/issues/5599 आधिकारिक पूर्ण चर्चा और समस्या के लिए समाधान के लिए।


0

मैंने इस समस्या को हल करने के लिए निम्नलिखित आदेश की कोशिश की और यह मेरे लिए काम किया:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.