Ubuntu 16.10 पर पायथन 3.6 के लिए पाइप कैसे स्थापित करें?


40

मैं यह इंगित करके शुरू करना चाहूंगा कि यह प्रश्न डुप्लिकेट जैसा लग सकता है, लेकिन ऐसा नहीं है। मेरे द्वारा उकबे उबंटू पर पूछे गए सभी प्रश्न पायथन 3 के लिए पाइप के संबंध में थे और मैं पायथन 3.6 के बारे में बात कर रहा हूं। वापस इस्तेमाल किए गए कदम फिर पाइथन 3.6 के लिए काम नहीं करते हैं।

  1. मुझे आधिकारिक docker store से एक स्पष्ट Ubuntu 16.10 छवि मिली ।
  2. रन apt-get update
  3. रन apt-get install python3.6
  4. रन apt-get install python3-pip
  5. रन pip3 install requests bs4
  6. रन python3.6 script.py

ModuleNotFoundErrorनीचे मिला :

 Traceback (most recent call last):
    File "script.py", line 6, in <module>
     import requests
 ModuleNotFoundError: No module named 'requests'

पायथन का और पाइप का I मशीन में है:

python3
python3.5
python3.5m
python3.6
python3m
python3-config
python3.5-config
python3.5m-config
python3.6m
python3m-config  

pip
pip3
pip3.5

जवाबों:


44

यह उत्तर मानता है कि आपने python3.6स्थापित किया है। के लिए python3.7, के 3.6साथ बदलें 3.7। के लिए python3.8, के 3.6साथ बदलें 3.8, लेकिन इसके लिए पहले python3.8-distutilsपैकेज की आवश्यकता हो सकती है ।

सुडो के साथ स्थापना

स्थापित करने केpip संबंध में , का उपयोग करके curl(बजाय wget) फ़ाइल को डिस्क पर लिखने से बचा जाता है।

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

-Hध्वज के साथ जाहिर आवश्यक है sudoक्रम जैसे त्रुटियों से बचा जा जब एक अद्यतन अजगर दुभाषिया के लिए पिप को स्थापित करने के बाद:

निर्देशिका '/ home/someuser/.cache/pip/http' या इसकी मूल निर्देशिका वर्तमान उपयोगकर्ता के स्वामित्व में नहीं है और कैश अक्षम कर दिया गया है। कृपया उस निर्देशिका की अनुमति और स्वामी की जांच करें। यदि सूडो के साथ पाइप निष्पादित किया जाता है, तो आप सूडो का -H ध्वज चाहते हैं।

निर्देशिका '/ home/someuser/.cache/pip' या इसकी मूल निर्देशिका वर्तमान उपयोगकर्ता के स्वामित्व में नहीं है और कैशिंग पहियों को अक्षम कर दिया गया है। उस निर्देशिका की अनुमतियों और स्वामी की जांच करें। यदि सूडो के साथ पाइप निष्पादित किया जाता है, तो आप सूडो का -H ध्वज चाहते हैं।

सुडो के बिना स्थापना

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

यह कभी-कभी चेतावनी दे सकता है जैसे:

चेतावनी: स्क्रिप्ट व्हील '/home/ubuntu/.local/bin' में स्थापित है जो PATH पर नहीं है। इस निर्देशिका को PATH में जोड़ने पर विचार करें या, यदि आप इस चेतावनी को दबाना चाहते हैं, तो -no-चेतावनी-स्क्रिप्ट-स्थान का उपयोग करें।

सत्यापन

इस के बाद, pip, pip3, और pip3.6सभी एक ही लक्ष्य के लिए बात करने के लिए उम्मीद की जा सकती:

$ (pip -V && pip3 -V && pip3.6 -V) | uniq
pip 18.0 from /usr/local/lib/python3.6/dist-packages (python 3.6)

बेशक आप वैकल्पिक python3.6 -m pipरूप से भी उपयोग कर सकते हैं ।

$ python3.6 -m pip -V
pip 18.0 from /usr/local/lib/python3.6/dist-packages (python 3.6)

5
स्क्रिप्ट लगता है कि python3.6सेटअप-उपकरण / आसान स्थापित करने के लिए काम कर रहा है। इस कारण से यह मेरे लिए काम नहीं किया। मैंने curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pip
FirefoxMetzger

मैं स्थापित python3.6और python3.6-devसे ppa:jonathonf/python-3.6एक Ubuntu 14.04 पर। मुझे यकीन नहीं है कि अगर मैं बस सेटपूल भूल गया या अगर यह टूट गया, लेकिन यह उस समय काम नहीं कर रहा था।
FirefoxMetzger

यह किसी भी तरह से आपके जवाब को गलत नहीं ठहराता है =) यदि कोई भी उसी (उम्मीद से असामान्य) समस्या में चलता है तो यह सिर्फ एक जोड़ है।
FirefoxMetzger

@ABB अगर मैं चाहता हूँ pip -Vहो python 2.7और pip3 -V && pip3.6 -Vहो python 3.6मैं कैसे कर सकता है?
बेनामिन जाफरी

1
आप wget -O -परिणाम को स्ट्रीम करने के लिए उपयोग कर सकते हैं :wget -O - https://bootstrap.pypa.io/get-pip.py | sudo -H python3.6
ingomueller.net

16

मुझे स्टैकओवरफ्लो पर जवाब मिला।

स्रोत: https://stackoverflow.com/a/44254088/1812319

मान लीजिए कि आपके पास Ubuntu 16.04, 16.10, या 17.04 पर चलने वाला सिस्टम है, और आप चाहते हैं कि पाइथन 3.6 डिफ़ॉल्ट पायथन हो।

यदि आप Ubuntu 16.04 LTS का उपयोग कर रहे हैं, तो आपको PPA का उपयोग करना होगा:

sudo add-apt-repository ppa:jonathonf/python-3.6  # (only for 16.04 LTS)

फिर, निम्नलिखित चलाएँ (यह 16.10 और 17.04 को आउट-ऑफ-द-बॉक्स काम करता है):

sudo apt update
sudo apt install python3.6
sudo apt install python3.6-dev
sudo apt install python3.6-venv
wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py
sudo ln -s /usr/bin/python3.6 /usr/local/bin/python3
sudo ln -s /usr/local/bin/pip /usr/local/bin/pip3

# Do this only if you want python3 to be the default Python
# instead of python2 (may be dangerous, esp. before 2020):
# sudo ln -s /usr/bin/python3.6 /usr/local/bin/python

जब आपने उपरोक्त सभी को पूरा कर लिया है, तो निम्नलिखित शेल कमांड्स में से प्रत्येक को इंगित करना चाहिए Python 3.6.1(या पायथन 3.6 के अधिक हाल के संस्करण):

python --version   # (this will reflect your choice, see above)
python3 --version
$(head -1 `which pip` | tail -c +3) --version
$(head -1 `which pip3` | tail -c +3) --version

1
"पाइप नाम का कोई मॉड्यूल नहीं"
कछुए हैं प्यारा

कमांड चलाने से पहले एक sudo apt get updateऔर करने की कोशिश करें sudo apt get upgrade
JChris

सहायता के लिए धन्यवाद; बहुत सराहना की। इस समस्या का निवारण करते समय, मैंने अपना सिस्टम एक ऐसी स्थिति में प्राप्त कर लिया है, जहां मैं लॉगिन-लूप में हूं, और यह देख रहा है कि सबसे आसान फिक्स एक सुधार / पुनर्स्थापना होगा।
कछुए क्या प्यारा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.