उबंटू परिवार, डेबियन, लिनक्स मिंट उपयोगकर्ताओं के लिए
ऊपर एंथोनी के स्पष्टीकरण के लिए धन्यवाद , आप अपने मूल सिस्टम पाइप (in / usr / bin / और dist-package /) को बनाए रख सकते हैं और संघर्ष को हल करने के लिए मैन्युअल रूप से स्थापित पाइप (~ / .local /) में हटा सकते हैं:
$ python3 -m pip uninstall pip
उबंटू / डेबियन पाइप v8.1.1 (16.04) python3-pip
डेबियन पैकेज से (देखें $ pip3 -V
) नवीनतम पाइप v10.0.1 के रूप में एक ही खोज परिणाम दिखाता है, और PyPI से नवीनतम मॉड्यूल को ठीक स्थापित करता है। इसमें 2016 से कार्यशील pip
कमांड (पहले से ही $ PATH) है, साथ ही --user
डिफ़ॉल्ट रूप से अच्छा विकल्प पैच-इन है। पाइप रिलीज नोट्स को देखते हुए , नए संस्करण ज्यादातर उपयोग-केस विशिष्ट बग फिक्स और कुछ नई सुविधाओं के बारे में हैं, इसलिए नहीं हर किसी को अभी तक पाइप को अपग्रेड करना है। और नए पाइप 10 को वैसे भी पायथन virtualenvs पर तैनात किया जा सकता है।
लेकिन पिप्स की परवाह किए बिना, आपका ओएस पाइप की आवश्यकता के बिना, एपीटी के साथ सामान्य पायथन मॉड्यूल (संख्यात्मक सहित) को जल्दी से स्थापित करने की अनुमति देता है, उदाहरण के लिए:
$ 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 (जैसे python3- पांडा) के लिए उपसर्ग हैं। हजारों हैं, और वे डेबियन और उबंटू के भीतर एकीकरण परीक्षण से गुजरते हैं। जब तक आप प्रति-उपयोगकर्ता स्तर ( pip install --user
विकल्प) या virtualenv / venv के भीतर स्थापित करने की कोशिश नहीं करते, तब तक उपयुक्त हो सकता है जो आपको चाहिए। ये सिस्टम संकुल के रूप में भी आभासी envs से सुलभ हैं virtualenv शान से आयात पर प्रणाली libs का उपयोग कर अपने envs मॉड्यूल की प्रतियां नहीं दिया है अगर करना प्रारंभ कर देगा। आपका कस्टम-इंस्टॉल (पाइप के साथ --user
) प्रति-उपयोगकर्ता मॉड्यूल ~/.local/lib
उन्हें भी ओवरराइड करेगा।
ध्यान दें, चूंकि यह एक सिस्टम-वाइड इंस्टॉलेशन है, आपको शायद ही इन्हें हटाने की आवश्यकता होगी (OS निर्भरता के बारे में दिमाग होना चाहिए)। यह कई सिस्टम निर्भरता वाले पैकेजों के लिए सुविधाजनक है (जैसे कि स्कैपी या मैटप्लोटलिब के साथ), क्योंकि एपीटी ट्रैक रखेगा और सभी आवश्यक सिस्टम लिबास और सी एक्सटेंशन प्रदान करेगा, जबकि पाइप के साथ ऐसी कोई गारंटी नहीं है ।
वास्तव में, सिस्टम-वाइड पाइथन पैकेज (प्रति-उपयोगकर्ता, होम डायर स्तर या निम्न के विपरीत) के लिए, उबंटू OS को तोड़ने से बचने के लिए APT पैकेज मैनेजर (बजाय ) का उपयोग करने की अपेक्षा करता हैsudo pip
: sudo pip3
बहुत ही /usr/lib/python3/dist-packages
निर्देशिका को लक्षित करता है जहां APT OS को स्टोर करता है -संवेदी मॉड्यूल हाल ही में डेबियन / उबंटू रिलीज़ पायथन 3 पर बहुत अधिक निर्भर करता है, इसलिए इसके पूर्व-स्थापित मॉड्यूल द्वारा प्रबंधित किया जाता है apt
और इसे बदला नहीं जाना चाहिए।
इसलिए यदि आप pip3 install
कमांड का उपयोग करते हैं , तो कृपया सुनिश्चित करें कि यह अलग-थलग आभासी देव वातावरण में चलता है, जैसे कि virtualenv ( sudo apt install python3-virtualenv
), या Python3 बिल्ट-इन ( -m venv
), या एक प्रति-उपयोगकर्ता स्तर पर ( --user
पाइप विकल्प, उबंटू-प्रदान में डिफ़ॉल्ट) 2016 के बाद से पिप), लेकिन नहीं पूरे सिस्टम में (कभी नहीं sudo pip3
!), पिप क्योंकि हस्तक्षेप अपार्ट पैकेज प्रबंधक के संचालन के साथ और Ubuntu ओएस को प्रभावित कर सकता घटकों जब एक सिस्टम-प्रयुक्त अजगर मॉड्यूल अप्रत्याशित रूप से बदल जाता है। सौभाग्य!
पी। एस । उपरोक्त सभी 'आदर्श' समाधान (डेबियन / उबंटू रास्ते) के लिए है।
यदि आप अभी भी विशेष रूप से नए pip3 v10 का उपयोग करना चाहते हैं, तो 3 त्वरित वर्कअराउंड हैं:
- बस एक नया बैश सत्र खोलें (एक नया टर्मिनल टैब, या टाइप करें
bash
) - और pip3 v10 उपलब्ध हो जाता है (देखें pip3 -V
)। डेबियन के pip3 v8 स्थापित रहता है लेकिन टूट गया है; या
$ hash -d pip3 && pip3 -V
$ PATH में pip3 pathname ताज़ा करने की कमांड । डेबियन के pip3 v8 स्थापित रहता है लेकिन टूट गया है; या
$ sudo apt remove python3-pip && hash -d pip3
अपने नए pip3 v10 के पक्ष में डेबियन के pip3 v8 को पूरी तरह से अनइंस्टॉल करने की कमांड ।
नोट: आपको हमेशा --user
किसी भी गैर-डेबियन-प्रदान किए गए पाइप में झंडा जोड़ने की आवश्यकता होगी , जब तक कि आप एक वर्चुअन में न हों! (यह ~/.local/
2016 के बाद से , डेबियन / ubuntu प्रदान की python3- पाइप और अजगर-पाइप में डिफ़ॉल्ट रूप से , अजगर पैकेज को दर्शाती है)। Virtualenv के बाहर, पाइप 10 सिस्टम-वाइड का आपका उपयोग, वास्तव में उबंटू / डेबियन द्वारा समर्थित नहीं है। कभी नहीं sudo pip3
!
अधिक जानकारी:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100