पायथन 3.6 कैसे स्थापित करें?


107

मैं नवीनतम पायथन स्थापित करना चाहूंगा, जो इस पद के समय 3.6 है। हालाँकि, रिपॉजिटरी कह रही है कि पायथन 3.4.2 सबसे नया संस्करण है।

मैंने कोशिश की:

$ sudo apt-get update
$ sudo apt-get install python3

python3 is already the newest version.

$ python -V

Python 3.4.2

अपने विंडोज वर्कस्टेशन पर पायथन 3.6 में अपग्रेड करने के लिए, मैंने बस एक exe डाउनलोड किया, कुछ समय बाद "अगला" क्लिक किया और यह पूरा हो गया। डेबियन जेसी पर पायथन 3.6 स्थापित करने के लिए उचित और आधिकारिक तौर पर स्वीकृत प्रक्रिया क्या है?


6
डिफ़ॉल्ट डेबियन रिपॉजिटरी में विशेष रूप से एक निश्चित डेबियन संस्करण के लिए संकलित सॉफ्टवेयर पैकेज होते हैं। सुरक्षा अद्यतनों को छोड़कर (अधिमानतः सुरक्षा छेद को ठीक करने के लिए आवश्यक कुछ ही बदलाव) अधिकांश सॉफ़्टवेयर के नए संस्करण संभावित अस्थिरता से बचने के लिए अगले प्रमुख रिलीज़ तक उपलब्ध नहीं हो सकते हैं।
phk

@phk उस स्थिति में, पाइप के समान व्यवहार अपनाने के लिए विवेकपूर्ण नहीं होगा, अर्थात डिफ़ॉल्ट रूप से 3.4.2 जब एक संस्करण निर्दिष्ट नहीं होता है, और उपयोगकर्ता को ध्वज के साथ 3.6 को स्पष्ट रूप से अनुरोध करने की अनुमति देता है? बस एक विचार :)
dvtan

1
इसका मतलब यह होगा कि डेबियन लोगों को हर समर्थित डेबियन संस्करण के लिए इन सभी पायथन संस्करणों को बनाए रखना होगा। यकीन है, यह स्वचालित हो सकता है लेकिन यह अभी भी बहुत कुछ होगा। इसके अलावा, नए संस्करण चाहने वाले बिजली उपयोगकर्ता भी कस्टम रिपॉजिटरी का उपयोग कर सकते हैं। कभी-कभी, सॉफ्टवेयर लेखक खुद को डेबियन और अन्य लोकप्रिय लिनक्स वितरणों के लिए बनाए रख रहे हैं, उदाहरण के लिए ओरेकल वर्चुअलबॉक्स के मामले में ।
phk

1
पायथन 3.6 (हालांकि rc1) अभी डेबियन प्रयोगात्मक में आया था। यह संभवत: जेसी को वापस करना संभव है, संभवत: थोड़ा ट्विकिंग के साथ।
फहीम मीठा

अपडेट करें। यह डेबियन स्टेबल (जेसी) पर मेरे लिए सफलतापूर्वक निर्माण समाप्त हो गया। हालांकि, इसका मतलब यह नहीं है कि यह सफलतापूर्वक स्थापित होगा और समस्याओं का कारण नहीं होगा । एक उचित अगला कदम यह होगा कि इसे स्थिर परीक्षण वीएम पर परीक्षण किया जाए। क्या कोई परवाह करता है?
फहीम मीठा

जवाबों:


66

डेबियन की रिपॉजिटरी में पाइथन 3.6 नहीं है, लेकिन परीक्षण में यह है।

$ sudo nano /etc/apt/sources.list
# add
deb http://ftp.de.debian.org/debian testing main
$ echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf.d/00local
$ sudo apt-get update
$ sudo apt-get -t testing install python3.6
$ python3.6 -V

आपने मांगा:

उचित और आधिकारिक तौर पर स्वीकृत प्रक्रिया

लेकिन मुझे यह बताना चाहिए कि यह आधिकारिक समाधान नहीं है क्योंकि यह परीक्षण भंडार का उपयोग करता है।


62
चेतावनी: यह आपके सिस्टम को अपग्रेड करेगा जो कि अब आप जो भी डेबियन रिलीज़ जारी कर रहे हैं (शायद 'स्थिर') प्लस 'अस्थिर' प्लस 'प्रायोगिक'। यह अस्थिर और चेरी-प्रायोगिक से कुछ पैकेजों को अपग्रेड करने, या (बेहतर और अभी तक, बैकपोर्ट से स्थिर और चेरी-पिकिंग के साथ रहना और / या अस्थिर और / या प्रायोगिक) से कहीं अधिक खराब होगा । इससे पुन: प्राप्ति असंभव के निकट होगी। अनुशंसित नहीं जब तक कि आपके पास डेबियन और डेबियन पैकेजिंग के साथ बहुत सारे अनुभव न हों
कैस

8
apt की डिफ़ॉल्ट रिलीज़ को स्थिर करने के लिए सेट किए गए उत्तर को संपादित किया गया। और पागल 'एप्ट-गेट अपग्रेड' को हटा दिया (जो अस्थिर या प्रयोगात्मक में उपलब्ध नवीनतम संस्करणों में सब कुछ अपग्रेड करता है , सिवाय इसके कि किसी अन्य पैकेज को हटाने का कारण होगा)। इस प्रक्रिया को बहुत कम खतरनाक बनाना चाहिए लेकिन फिर भी यह सुरक्षित नहीं है। और अभी भी नौसिखियों के लिए अनुशंसित नहीं है। 'प्रायोगिक' आकस्मिक उपयोग के लिए नहीं है, यह अजीब, अप्रयुक्त, संभवतः टूटे हुए सामान के लिए है जो 'अस्थिर' में भी संघर्ष या चीजों को तोड़ सकता है। इसे बड़े मल्टी-पैकेज अपग्रेड के लिए स्टेजिंग क्षेत्र के रूप में भी उपयोग किया जाता है।
कैस

1
अजगर के रूप में संपादित जवाब 3.6.2 testingरिपॉजिटरी में (अब) है जो औसत उपयोगकर्ता के लिए सुरक्षित है।
m4p85r

4
यह कोशिश मत करो - यह आपको पूर्ववत करने के लिए उम्र ले जाएगा
user3728501

1
क्या यह अभी भी अगस्त (या दिसंबर) 2017 में सुझाए गए अनुसार जोखिम भरा है? @Cas द्वारा संपादित किए जाने और अपनी टिप्पणी करने के बाद अब यह स्पष्ट नहीं है। क्या कोई फॉलो कर सकता है?
ब्रायन पीटरसन

154

आप Python-3.6डेबियन 8 पर निम्नानुसार स्थापित कर सकते हैं:

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6

यह आधिकारिक वेबसाइट केmake altinstall अनुसार उपयोग करने के लिए अनुशंसित है ।

यदि आप pipशामिल होना चाहते हैं, तो आपको --with-ensurepip=installअपनी कॉन्फ़िगर कॉल में जोड़ना होगा। अधिक जानकारी के लिए देखते हैं ./configure --help

चेतावनी: make installअजगर बाइनरी को अधिलेखित या चिना सकता है। make altinstallइसलिए इसकी सिफारिश की जाती है make installक्योंकि यह केवल स्थापित करता है exec_prefix/bin/pythonversion

कुछ पैकेज कुछ ज्ञात समस्याओं से बचने के लिए स्थापित करने की आवश्यकता है, देखें: सामान्य बिल्ड समस्याएं (अद्यतन)

Ubuntu / डेबियन:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev

Libreadline-dev का विकल्प:

sudo apt install libedit-dev

फेडोरा / सेंटोस / आरएचईएल (aws ec2):

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel

खुलने का विकल्प- devel:

sudo yum install compat-openssl10-devel --allowerasing

अपडेट करें

आप यहाँpython-x.y.z.tar.gz से नवीनतम डाउनलोड कर सकते हैं

एक डिफ़ॉल्ट अजगर संस्करण सेट करने और आसानी से उनके बीच स्विच करने के लिए, आपको अपने update-alternativesकई अजगर संस्करण के साथ अपडेट करने की आवश्यकता है ।

मान लें कि आपने python3.7डेबियन खिंचाव पर स्थापित किया है , whereis pythonबाइनरी का पता लगाने के लिए कमांड का उपयोग करें ( */bin/python)। उदा:

/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5

अजगर संस्करण जोड़ें:

update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30

python3.7साथ 50प्राथमिकता अब आपका डिफ़ॉल्ट कि अजगर, python -Vइच्छा प्रिंट:

Python 3.7.0b2

उनके बीच स्विच करने के लिए, उपयोग करें:

update-alternatives --config python

नमूना उत्पादन:

There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/python3.7   50        auto mode
  1            /usr/bin/python2.7         40        manual mode
  2            /usr/bin/python3.5         30        manual mode
  3            /usr/local/bin/python3.7   50        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

5
डेबियन लोग अनुशंसा नहीं करते checkinstall? अन्यथा, इसे स्थापित करने के लिए बुद्धिमान होगा /usr/localया /opt
इवान अनिशचुक

3
./configure --helpपायथन के अनुसार 3.6 /usr/localप्रति डिफ़ॉल्ट पर स्थापित होता है ।
मार्कस स्ट्रॉस

2
इस उत्तर से समस्या हो रही है (उदाहरण के लिए, SSL मॉड्यूल उपलब्ध नहीं है या zlib अनुपलब्ध है)? देखें: stackoverflow.com/a/41601137/972128
kkurian

11
अस्वीकरण: यह Pi शून्य की तरह कम शक्ति वाले डिवाइस पर 20+ घंटे लेता है।
एंटोनी लिजी जूल

2
संस्करण 3.7है बाहर
टीमो

32

आधिकारिक सिफारिश है "आपको वास्तव में नए सॉफ़्टवेयर की आवश्यकता नहीं है"

चमकदार नए सामान सिंड्रोम से पीड़ित नहीं है - DontBreakDebian | डेबियन विकी

उस पृष्ठ की अधिकांश सलाह इस बात की ओर है कि यदि आप चाहते हैं कि सॉफ्टवेयर उपलब्ध सिस्टम-वाइड हो, लेकिन मुझे नहीं लगता कि इस मामले में यह आवश्यक है।

यदि आप अजगर स्रोतों को प्राप्त करते हैं, तो 3.6 इंटरप्रेटर का उपयोग करके --prefixनियंत्रण करें कि यह कहां समाप्त होता है, और फिर विकल्प के virtualenvसाथ उपयोग करें --python, फिर आप अपने प्रोजेक्ट के बाहर कुछ भी प्रभावित किए बिना अजगर 3.6 का उपयोग कर सकते हैं।

प्रक्रिया कुछ इस तरह से हो सकती है:

$ cd ~
$ mkdir pythonroot
$ mkdir opt
$ mkdir app
$ cd opt
$ wget <python tarball>
$ tar -xvf <python tarball>
$ cd python-3.6
$ ./configure --prefix="$HOME"/pythonroot
$ make
$ make install
$ cd ~
$ cd app
$ virtualenv venv --python ~/pythonroot/bin/python
$ . venv/bin/activate
[venv]$ which python
/home/<user>/pythonroot/bin/python

यदि आप ऐसा करने जा रहे हैं, तो आप पाइथन लिपि में --enable-optimizationsध्वज पर विचार करना चाह सकते हैं configure, जो कुछ विशेषताओं जैसे प्रोफ़ाइल-गाइड अनुकूलन को सक्षम करने के लिए लगता है। यह बिल्ड समय को बढ़ाता है लेकिन लगता है कि 10% या तो कुछ बेंचमार्क के अनुसार तेजी से दुभाषिया हो सकता है।


5
यह "प्रैक्टिकलिटी बीट शुद्धता" के सामान्य पायथन नियम का पालन करता है। मैं / पैकेज / पाइथन-एक्सवाईज़ में स्रोत पैकेजों से अजगर स्थापित करना चाहता हूं और फिर अपने खुद के वर्चुअन से एप्लिकेशन चलाता हूं।
झगड़ा

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

1
मेरी राय में यह सबसे अच्छा जवाब है।
ब्रैकबेकोडोर64

इस सलाह के लिए धन्यवाद। अतीत में मैंने सिस्टम वाइड एडऑन के साथ कुछ डेबियन इंस्टॉल को तोड़ा।
फ्रीज किया

मेरी स्थापना में [venv]$ which pythonमुझे नहीं /home/<user>/pythonroot/bin/python, बल्कि /home/<user>/app/venv/bin/python3… क्यों?
फ्रीज किया

12

आप पर एक नज़र रखना चाहते हो सकता है pyenv: https://github.com/yyuu/pyenvpyenvअमरल लैब में ट्यूटोरियल से उद्धृत करने के लिए :

पहले Pythonbrew के रूप में जाना जाता है, pyenv आपको वैश्विक Python संस्करण को बदलने देता है, कई Python संस्करण स्थापित करता है, निर्देशिका (प्रोजेक्ट) -specific Python संस्करणों को सेट करता है, और वर्चुअल python वातावरण ("virtualenvs") बनाता है। यह सब पाइथन पर निर्भर किए बिना * NIX- शैली की मशीनों (लिनक्स और ओएस एक्स) पर किया जाता है और यह उपयोगकर्ता-स्तर पर काम करता है-किसी भी sudo कमांड की आवश्यकता नहीं है।


3
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - समीक्षा से
आर्किमेयर

आप सही हैं, जवाब बदल देंगे।
schaiba

1
मुझे लगता है कि उनका मतलब भी आवश्यक कमांड लाइन भी शामिल करने के लिए ...
not2qubit

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

11

मेरा पसंदीदा तरीका एनाकोंडा या मिनिकोंडा का उपयोग करना है जो डेबियन पर स्थापित अजगर और पैकेज के नवीनतम संस्करण को रखने के लिए है।

यह सब बड़े करीने से एक फ़ोल्डर में रखा गया है जो बाद में यदि आप चाहें तो इसे निकालना बहुत आसान है। इंस्टॉलर आपके bashrc में पथ भी जोड़ता है (यदि आप किसी अन्य शेल का उपयोग करते हैं तो इसे स्वयं जोड़ें)।

यह पाइप के साथ आता है, और यह भी कोंडा जो कि एक और पैकेज मैनेजर है, जो अधिक जटिल pacakges जैसे numpy के लिए अच्छा हो सकता है। मिनिकोंडा एक नंगे हड्डियों की स्थापना है, और एनाकोंडा कई संकुल के साथ एक पूर्ण स्थापित है, मुख्य रूप से डेटा विश्लेषण के लिए डिज़ाइन किया गया है।

जल्दी से:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

यदि आप बैश ऐड पथ का उपयोग नहीं कर रहे हैं, तो लाइसेंस पढ़ें और स्वीकार करें: export PATH="/home/$USER/miniconda3/bin:$PATH"

परीक्षा:

$ python --version
Python 3.6.0 :: Continuum Analytics, Inc.

PyPi से स्थापित करें:

# pip install fava

कोंडा से स्थापित करें:

# conda install numpy

जब आप इसे हटाना चाहते हैं, तो ~/miniconda3अपने bashrc में फ़ोल्डर और पथ को हटा दें ।


स्रोत से अजगर को स्थापित करने के साथ अंतहीन समस्याओं के बाद, इस संस्करण ने सही काम किया! ध्यान दें कि यदि आप एनवायरनमेंट मैनेजमेंट के लिए virtualenv (रैपर) के साथ काम करना चाहते हैं, तो आपको मिनिकोंडा लाइब्रेरी direcotry को जोड़ना होगा LD_LIBRARY_PATH। जैसे: export $LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/miniconda3/lib"अपने में जोड़ें .bashrc
वृहस्पति

"इंस्टॉलर आपके bashrc में पथ भी जोड़ता है" यही प्राथमिक कारण है कि मैं एनाकोंडा का उपयोग नहीं करता हूं । मौन रूप से मौजूदा अजगर पर्यावरण को कम से कम कहने के लिए स्वस्थ नहीं है।
मिस्टरमैगी

3

डेबियन के पास रिपॉजिटरी में पाइथन 3.6 नहीं है। यहाँ वर्तमान Python3 स्थिति का एक स्नैपशॉट है:

wheezy (oldstable) (python): interactive high-level object-oriented language (default python3 version)
    3.2.3-6: all
jessie (stable) (python): interactive high-level object-oriented language (default python3 version)
    3.4.2-2: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
stretch (testing) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sh4 sparc64 x32

आप यहां इनकी जांच कर सकते हैं

आप 3.6 या तो स्रोत से स्थापित कर सकते हैं, या होम डायरेक्टरी इंस्टॉलेशन के लिए लिनक्सब्रेव जैसी किसी चीज का उपयोग कर सकते हैं।


3

इसके साथ

sudo echo "http://ftp.fr.debian.org/debian testing main" >> /etc/apt/sources.list

sudo apt-get update
sudo apt-get install -y python3.6

सफलतापूर्वक काम करते हैं।

और: डिफ़ॉल्ट रूप में python3.6 सेट करें

sudo alias python=/usr/bin/python3.6

अभी :

python --version
Python 3.6

पढ़ना चाहिएsudo echo "deb http://ftp.fr.debian.org/debian testing main" >> /etc/apt/sources.list
अपकर्ष

3
यह उत्तर स्वीकृत उत्तर के समान है, एक वर्ष बाद आया, और फिर भी सही आज्ञा देने में विफल रहा।
एसई

1

पायथन 3.6 (हालांकि rc1) अभी डेबियन प्रयोगात्मक में आया था। मैं इसे डेबियन स्टेबल (जेसी) पर सफलतापूर्वक बनाने में सक्षम था। नीचे दिए गए निर्माण के अंतिम चरण देखें।

हालांकि, इसका मतलब यह नहीं है कि यह सफलतापूर्वक स्थापित होगा और समस्याओं का कारण नहीं होगा । एक उचित अगला कदम यह होगा कि इसे स्थिर परीक्षण वीएम पर परीक्षण किया जाए। अगर किसी को परवाह है, तो मैं इसे एक कोशिश दे सकता हूं - या कोई और कोशिश कर सकता है।

शीघ्र ही डेबियन अस्थिर में एक उचित रिलीज संस्करण आ जाना चाहिए।

dh_builddeb -a
dpkg-deb: building package `python3.6' in `../python3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-venv' in `../python3.6-venv_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-stdlib' in `../libpython3.6-stdlib_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-minimal' in `../python3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-minimal' in `../libpython3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6' in `../libpython3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-dev' in `../python3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-dev' in `../libpython3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-dbg' in `../python3.6-dbg_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-dbg' in `../libpython3.6-dbg_3.6.0~rc1-1_amd64.deb'.
 dpkg-genchanges  >../python3.6_3.6.0~rc1-1_amd64.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build python3.6-3.6.0~rc1
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
W: python3.6 source: newer-standards-version 3.9.8 (current is 3.9.6)
N: 56 tags overridden (26 errors, 27 warnings, 3 info)
Finished running lintian.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.