के 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
(Resp। pip3
) निष्पादन अपने distro (द्वारा प्रदान की गई python-pip
उबंटू 16.04 पर पैकेज)।
इसलिए, pip
पाइप को अपग्रेड करते समय पैकेज के साथ इसे अद्यतित नहीं रखा जाता है , और टूट सकता है।
यदि आप python -m pip
सीधे उपयोग करते हैं, जैसे:
python -m pip install --user somepackage
python3 -m pip install --user somepackage
यह आपके पायथन पथ से गुजरता है और पाइप के नवीनतम संस्करण को खोजता है, और उस फ़ाइल को निष्पादित करता है।
यह इस तथ्य पर निर्भर करता है कि वह फ़ाइल निष्पादन योग्य है, लेकिन यह एक बहुत ही मानक प्रकार का इंटरफ़ेस है, और इसलिए हैकर डेबियन स्क्रिप्ट की तुलना में कम टूटने की संभावना है।
फिर मैं आपको निम्नलिखित उपनाम जोड़ने की सलाह देता हूं .bashrc
:
pip() ( python -m pip "$@" )
pip3() ( python3 -m pip "$@" )
Ubuntu 18.04 /usr/bin/pip3
फ़ाइल करता है:
from pip import main
और संभवतया कुछ बिंदु main
से हटा दिया गया था pip
जो कि चीजों को तोड़ दिया गया है।
ब्रेकिंग पाइप कमिट प्रतीत होता है: 95bcf8c5f6394298035a7332c441868f3b0169f4 "सभी आंतरिक API को pip._internal पर ले जाएं" जो कि पाइप 18.0 में चला गया।
pip3
9.0.1 से 18.0 तक के अपडेट के बाद उबंटू 16.04 में परीक्षण किया गया ।
pyenv
हालांकि, गंभीर अजगर विकास के लिए, मैं सिर्फ यह सलाह दूंगा कि आप अपने स्थानीय पायथन को pyenv + virtualenv के साथ स्थापित करें, जो इस उबंटू बग के आसपास भी मिलेगा: मैं apt-get का उपयोग करके एक अलग पायथन संस्करण कैसे स्थापित करूं?