Apt-get का उपयोग करके मैं एक अलग पायथन संस्करण कैसे स्थापित करूं?


125

मैं apt-get का उपयोग करके पायथन के एक अलग संस्करण को कैसे स्थापित कर सकता हूं?

जाहिर है मुझे एहसास है कि मैं स्रोत टार बॉल का उपयोग करके इंस्टॉल कर सकता हूं, हालांकि मैं स्रोत से इंस्टॉल नहीं करना पसंद करूंगा और इसके बजाय पैकेज मैनेजर का उपयोग कर सकता हूं, क्योंकि यह वहां के लिए है। निश्चित रूप से कहीं न कहीं सम्मानित बनाता है। नवीनतम पायथन रिलीज (क्यों python.org नहीं है मेरे लिए परे है) के लिए deb फाइलें जो मैं संदर्भ दे सकता हूं।

मुझे उनके संदर्भ के लिए क्या करने की आवश्यकता है और अगले संस्करण में अपग्रेड करते समय यह क्या समस्याएं पैदा कर सकता है?

यदि स्रोत से निर्माण के अलावा कोई रास्ता नहीं है, तो क्या एक (छद्म) पैकेज है जिसे मैं स्थापित कर सकता हूं जो कि सभी को व्यक्तिगत रूप से खोजने और स्थापित किए बिना आवश्यक निर्भरता प्रदान करेगा? ताकि मुझे न मिले:

The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_dbm                  _gdbm                 _lzma              
_sqlite3              _ssl                  _tkinter           
readline              zlib  


क्या तुमने कभी प्राप्त किया E: Couldn't find any package by regex 'python3.5'और इस तरह से स्थापित करने में विफल रहा apt-get install python3.5?
चार्ली पार्कर


यहाँ कुछ अच्छे सुझाव: quora.com/…
चार्ली पार्कर

1
@CharlieParker क्या आपने एनाकोंडा स्थापित करने की कोशिश की ?
एम। बेकर्रा

जवाबों:


169

फेलिक्स क्रॉल मूल रूप से पायथन के किसी भी संस्करण (गंभीरता से, वहाँ 2.3.7 बिल्ड विविड के लिए) का एक पीपीए ऑफर चलाता है । https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa पर कई उबंटू रिलीज़ के लिए ।

सामान्य करें:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.5

यह आपके मौजूदा को अधिलेखित नहीं करेगा python3.4जो अभी भी सममित है python3

सिम्बलिन को मत बदलो! जाहिरा तौर पर कई सिस्टम फ़ंक्शंस हैं जो python3.5 के साथ ठीक से काम नहीं करते हैं।

मैंने यह कोशिश की और बाद में एक टर्मिनल, सॉफ्टवेयर अपडेटर नहीं खोल सका ...

cd /usr/bin
sudo rm python3

विली में अपग्रेड python3इंगित करने के लिए मेटा-पैकेज को अनुकूलित करेगा python3.5। मैं किसी भी टूटने की उम्मीद नहीं करता हूं, लेकिन इस समय विदेशी भंडार की आवश्यकता नहीं है। तो वास्तव में सुरक्षित होने के लिए, आप नवीनीकरण करने से पहले पीपीए को शुद्ध कर सकते हैं।


5
noob बाहर वहाँ के लिए, सहानुभूति नहीं है! सिर्फ़ सहानुभूति न रखने का मतलब है कि आपको python3.5 टाइप करने की ज़रूरत है। कमांड लाइन से अजगर 3.5 चलाने के लिए
क्रिस हॉक्स

4
क्या आप मुझे बता सकते हैं, मैं इस 3.5 के साथ 3.4 के पाइप का उपयोग कैसे कर सकता हूं?
ग्रोशा

2
@ kondra007 मैंने pip.pypa.io/en/stable/installing (कृपया वहां चेतावनी पढ़ें ) के निर्देशों का पालन किया और इन दोनों आदेशों wget https://bootstrap.pypa.io/get-pip.py; sudo python3.5 get-pip.pyने मुझे अजगर 3.5 के लिए एक कार्यशील पाइप दिया, लेकिन pip3.4 कोई और काम नहीं कर रहा है। अगर किसी को बेहतर पता है तो कृपया टिप्पणी करें
ndemou

2
इसके अलावा python3.5 को डिफ़ॉल्ट के रूप में सेट करें ~$ vim ~/.bashrcऔर इसे जोड़ें alias python=python3.5। तत्पश्चात~$source ~/.bashrc
कृष्णदास पीसी

1
टिप्स: यदि add-apt-repository: command not found, apt-get install software-properties-common python-software-propertiesस्थापित करने के लिए चलाएं
मिथाइल

35

इस Youtube लिंक ने मुझे इसे स्थापित करने में मदद की।

कदम हैं:

sudo apt-get install libssl-dev openssl
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xzvf Python-3.5.0.tgz
cd Python-3.5.0
./configure
make
sudo make install

यह जांचने के लिए कि क्या अजगर को स्थापित किया गया python3.5है:

sudo ln -fs /opt/Python-3.5.0/Python /usr/bin/python3.5

3
ओपी ने कहा कि वह स्रोत से संकलन नहीं करना चाहते
माइकल बेट्स

3
हाँ आप सही है। इसके अलावा स्रोत से संकलन सड़क के नीचे कुछ निर्भरता मुद्दों को पेश कर सकता है। लेकिन मैंने इसे हल किया है। अगर कोई बेहतर तरीका है तो मैं जरूर जानना चाहूंगा।
आनंददीप भट्टाचार्जी

5
पर विचार करें ./configure --enable-optimizations stackoverflow.com/questions/41405728/...
warvariuc

1
@CharlieParker क्योंकि पायथन किसी विशिष्ट OS के लिए नहीं बनाया गया है। इसे किसी भी प्लेटफॉर्म पर चलाने का मतलब है। लिनक्स के लिए इसका मतलब यह है कि या तो प्रत्येक संस्करण को प्रत्येक लिनक्स डिस्ट्रो (जिसमें से कई हैं) के प्रत्येक संस्करण के लिए संकलित और वितरित किया जाना है, या वे स्रोत को वितरित करते हैं और उपयोगकर्ता को उस वातावरण में खुद को संकलित करने देते हैं जिसमें यह होगा उपयोग किया गया। उत्तरार्द्ध कहीं अधिक संभव है।
CJStuart

2
तुम भी से C / C ++ संकलक की जरूरत हैapt-get install build-essential
bato3

13

बस उन चरणों का पालन करें (परीक्षण):

चरण 1 - आवश्यक संकुल स्थापित करें

इसे स्थापित करने से पहले अजगर के लिए आवश्यक शर्तें स्थापित करने के लिए निम्न आदेश का उपयोग करें।

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

चरण 2 - पायथन 3.5.2 डाउनलोड करें

अजगर आधिकारिक साइट से निम्नलिखित आदेश का उपयोग करके पायथन डाउनलोड करें। आप नीचे निर्दिष्ट के स्थान पर नवीनतम संस्करण भी डाउनलोड कर सकते हैं।

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

अब डाउनलोड किए गए पैकेज को निकालें।

sudo tar xzf Python-3.5.2.tgz

चरण 3 - संकलन पायथन स्रोत

अपने सिस्टम पर पायथन सोर्स कोड को इनस्टॉल करने के लिए कमांड के सेट के नीचे प्रयोग करें।

cd Python-3.5.2
sudo ./configure
sudo make altinstall

make altinstallडिफ़ॉल्ट अजगर बाइनरी फ़ाइल को बदलने से रोकने के लिए उपयोग किया जाता है /usr/bin/python

चरण 4 - पायथन संस्करण की जाँच करें

नीचे दिए गए कमांड का उपयोग करके अजगर के नवीनतम संस्करण को स्थापित करें।

$ python3.5 -V

Python 3.5.2

स्रोत


2
डिफ़ॉल्ट रूप से altinstall का उपयोग करने के लिए +1। कोई वास्तविक परिदृश्य नहीं है जहां आप केवल एक संस्करण के साथ रह सकते हैं। यहां तक ​​कि Python3 के साथ सिस्टम डिफॉल्ट के रूप में आपको Python को उलटने के लिए मजबूर किया जा सकता है -> Python2 बजाय Python2 को जोड़ने या जोड़ने के लिए।
erm3nda

1
मुझे यहाँ बताई गई एक त्रुटि मिली - Bugs.python.org/issue31652sudo apt-get install libffi-dev इसे हल करने के लिए दौड़ना पड़ा ।
निशां चतुरंगा

मैं sudo apt-get install liblzma-devlzma समर्थन को सक्षम करने के लिए भी जोड़ूंगा।
v.grabovets

6

जहां तक ​​मैं बता सकता हूं, कम से कम डॉकटर कंटेनर में, निश्चित रूप से apt-getअजगर 3 कर सकता है ।

पहले मैं कंटेनर के साथ एक ubuntu कंटेनर में भाग गया:

docker run -it --rm ubuntu:latest bash

तब किसी कारण के लिए कुछ ubuntu सामान को अपडेट करने की आवश्यकता थी इसलिए मैंने (कंटेनर के अंदर) किया:

apt-get update && apt-get install -y build-essential git libjpeg-dev

और फिर मैंने बस python3 स्थापित किया है और ऐसा लगता है कि यह स्वचालित रूप से अजगर 3.5 है:

apt-get install python3
apt-get install python3-pip

और परीक्षण करने के लिए कि क्या पाइप कार्य कुछ डाउनलोड करने देता है:

pip3 install tensorflow

मेरे लिए सब ठीक लगता है।

महत्वपूर्ण नोट: ऐसा लगता है कि यदि आपके पास पहले से ही अजगर 3.4 स्थापित है तो apt-get install python3काम नहीं करता है क्योंकि यह कहता है कि आपके पास पहले से ही है। ऐसा लगता है कि यह मेरी समस्याओं में से एक था क्योंकि मैं टेंसरफ़्लो (विशेष रूप से gcr.io/tensorflow/tensorflow:latest-devel-py3) से एक डॉक छवि से शुरू कर रहा था और उस छवि में कुछ (मुझे लगता है कि उनके पास पहले से ही 3.4 है, लेकिन यह कुछ और हो सकता है) ने मुझे अपडेट करने की अनुमति नहीं दी। मेरे अजगर को 3.5 पाने के लिए।


क्रेडिट: जब मैंने निम्नलिखित पूछा तो मुझे यह पता चला: https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out-the-the -tensorflow-डोकर


नोट: कोई एनाकोंडा को भी स्थापित कर सकता है। एक docker उदाहरण के लिए कोई भी कर सकता है:

docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash

उनकी आधिकारिक वेबसाइट से: https://hub.docker.com/r/continuumio/anaconda3/

यह समाधान अजगर 3.6 स्थापित करता है, लेकिन मुझे यकीन है कि अगर आप इस पर गौर करते हैं तो आप पायथॉन 3.5 प्राप्त कर सकते हैं यदि आप चाहते हैं।

ध्यान दें: आपको शायद वर्चुअल वातावरण जैसे वर्चुअल एनवी या कोंडा / एनाकोंडा का उपयोग तब तक करना चाहिए जब तक कि आपके डॉकटर वैसे भी उपयोग न करें। बस लोगों को याद दिलाना चाहता था।


1
"डॉकटर कंटेनर में" एक बहुत ही सामान्य कथन है: यह सब निर्भर करता है कि कंटेनर किस छवि पर आधारित है, उदाहरण के लिए उबंटू का कौन सा संस्करण। इसके अलावा, 3.5 या 3.6 जैसे मामूली संस्करण हो सकते हैं जो एक उबंटू संस्करण में उपलब्ध नहीं हैं (उदाहरण के लिए 14.04)
जियोर्जियोसिरोनी

2

उबंटू पैकेज में सूचीबद्ध apt-get के माध्यम से स्थापित करने के लिए कई नए अजगर वितरण उपलब्ध हैं

एक उदाहरण के रूप में निम्नलिखित संस्करण वर्तमान में उपलब्ध हैं:

python2.7

python3.2

python3.4

python3.5

python3.6

उपलब्धता एक हद तक उबंटू रिलीज के साथ बदलती है। उदाहरण के लिए 3.5 Xenial, Yakkety, और Zesty के लिए उपलब्ध है और 3.6 Yakkety और Zesty के लिए उपलब्ध है, लेकिन आपको यूनिवर्स रिपॉजिटरी को सक्षम करना होगा यदि इन्हें apt-get के माध्यम से प्राप्त करने में सक्षम नहीं है। अपने Ubuntu के संस्करण के लिए उपलब्धता की जाँच करने के लिए ऊपर दिए गए लिंक की जाँच करें।

एक त्वरित झलके से संकेत मिलता है कि यह उत्तर अभी भी मान्य है क्योंकि PPA के पास 3.6 ट्रस्टी के लिए भी है।



@yaitloutou सवाल "नया" नहीं "नया" कहता है हर तरह से एक बेहतर जवाब लिखने के लिए स्वतंत्र महसूस करता है।
एल्डर गीक

आप सही हैं, लेकिन चूंकि अपेक्षाकृत नया है जो निर्दिष्ट नहीं है, मैंने इसे सबसे नया समझा है :)
yaitloutou

@yaitloutou स्वतंत्र महसूस करें और हर तरह से बेहतर उत्तर लिखें! मुझे यकीन है कि इसे सराहा जाएगा।
एल्डर गीक

मैंने अभी यहां सक्रिय होना शुरू किया है, और मैं अभी भी सीख रहा हूं। क्षमा करें यदि आपको मेरी टिप्पणी आपके उत्तर पर
अप्रिय लगी

0

मैं apt-get के माध्यम से अजगर संस्करणों को स्थापित करने के बजाय आभासी वातावरण का उपयोग करने पर विचार करूंगा।

आभासी वातावरण का उपयोग करना, यहां देखें, अजगर के साथ विकसित करने के लिए एक अच्छा अभ्यास है। वे आपको सिस्टम स्थापित अजगर संस्करणों से अपने अजगर पर्यावरण को अलग करने देते हैं।

इसके अलावा आपको किसी भी पुस्तकालय (पाइप आदि के माध्यम से) को स्थापित करने के लिए सूडो एक्सेस प्राप्त करने की आवश्यकता नहीं है।


11
मुझे लगता है कि आपको वर्चुअल वातावरण में उपयोग करने से पहले अपने इच्छित अजगर के संस्करण को स्थापित करने की आवश्यकता है।
नज्बु

1
आप वर्चुअल वातावरण में "सक्रिय" स्क्रिप्ट चलाकर अपने अजगर से संबंधित पथ को बदलने की तुलना में वर्चुअल वातावरण में अजगर के वांछित संस्करण को स्थापित करते हैं।
देवम्बरीस

यह वास्तव में वही है जो मैं करना चाहता हूं-बहुत ही पहली बात जो मैंने @ नेफेंटे के उत्तर का पालन करने के बाद करने की कोशिश की थी, वह था इसका उपयोग करना virtualenv -p। लेकिन यह "ImportError: 'HTTPSHandler' नाम आयात नहीं कर सका।"
माइकल शेपर

1
इसे क्यों अस्वीकृत किया गया? वर्चुअल एनवी आमतौर पर ठीक काम करते हैं।
चार्ली पार्कर

आप ubuntu में आभासी env कैसे स्थापित करते हैं (आपके सुझाव में) लेकिन अजगर 3.5 के साथ?
चार्ली पार्कर

0

कोन्डा सक्रिय रूप से अपडेट किया गया है और आपको यह सब अपने आप को स्थापित करने के टेडियम के बिना प्रबंधित स्थानों में कई अजगर संस्करणों को स्थापित करने की अनुमति देता है। बाइनरी एक्सटेंशन पाथिंग समस्याओं को एनाकोंडा प्रबंधित निर्भरता / पाइप श्रृंखलाओं में से कई में हल किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.