मैं अपने आरपी 3 को पायथन 3.6 में कैसे अपडेट करूं?


39

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

मैंने यह भी देखा कि जब ./configureकमांड चल रहा था, तो कई चेक "नहीं" के साथ समाप्त हो गए। क्या मुझे उस चीज़ को वापस लेने और स्थापित करने की ज़रूरत है जो ऐसा किया था?


आपको शायद ये कोशिश करनी चाहिए: askubuntu.com/a/865569
Sagu

जवाबों:


34

मैं अपने आरपी 3 को पायथन 3.6 में कैसे अपडेट करूं?

आज तक, स्रोत से केवल स्थापना उपलब्ध है। आपके द्वारा संदर्भित निर्देश संस्करण 3.6 के लिए सही हैं। दोहराना:

wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar xzvf Python-3.6.0.tgz
cd Python-3.6.0/
./configure
make -j4
sudo make install

एक वर्ग 10 एसडी कार्ड (YMMV) के साथ रास्पबेरी पाई 3 पर एक ताजा रास्पियन पर:

  • configure 2 मिनट से अधिक समय लगता है
  • make लगभग 15 मिनट लगते हैं (यह stderr को 8 चेतावनी देता है)
  • sudo make install लगभग 2 मिनट लगते हैं

क्या मुझे उस चीज़ को वापस लेने और स्थापित करने की ज़रूरत है जो ऐसा किया था?

जब तक configureस्क्रिप्ट में कोई त्रुटि नहीं होती है, उत्तर है: नहीं, बिल्कुल नहीं।

configureचेक की एक श्रृंखला करता है और परिणाम बनाने के लिए इनपुट के रूप में उपयोग करता है Makefile। परिणाम वास्तुकला, हार्डवेयर सुविधाओं आदि पर निर्भर करते हैं। ये सफल संकलन की आवश्यकताएं नहीं हैं। पहले चेक में से एक पायथन 3.6 खुद के लिए एक चेक है, जिसके लिए परिणाम निश्चित रूप से होगा no

make -j4 बस प्रक्रिया में सभी 4 आरपीआई कोर का उपयोग करता है (बहुत तेज)


मैंने बस यही कोशिश की, लेकिन इसका हमेशा के लिए लेना। कॉन्फ़िगर में 134 मिनट लगे और मेक अभी एक घंटे से अधिक समय से चल रहा है। मॉडल आरपी 3, नवीनतम रास्पियन। किसी भी विचार क्यों यह इतनी देर लग रही है?
मिस्ट्री

@ आपका एसडी कार्ड शायद बहुत धीमा है। एक अच्छे ब्रांड (सैंडिस्क, सैमसंग आदि) से कुछ प्राप्त करें और सुनिश्चित करें कि यह कम से कम 10 वीं कक्षा है (सैंडिस्क इसे "अल्ट्रा" कहता है)।
तरुण

2
सोचा कि मैं इस पर टिप्पणी करूंगा, आपको आवश्यक संकुल को स्थापित करने और स्थापित करने के लिए याद रखना होगा, अन्यथा SSL त्रुटि के कारण pip3 काम नहीं करेगा (हाँ, मुझे अपने शून्य डब्ल्यू पर एक इंस्टाल पर 2 घंटे तक इंतजार करना पड़ा )। आवश्यक पैकेज यहाँ हैं: tecadmin.net/install-python-3-6-ubuntu-linuxmint
मोर्टेनमॉल्डर

sudo apt-get install libffi-devइस जवाब में सुझाए गए अनुसार निष्पादित करके हल किया गया पाइथन 3.7.2 के साथ आरबी पी 3 में त्रुटि, stackoverflow.com/a/48045929/2343488
juliocesar

24

मैं अत्यधिक सलाह देता हूं कि आप जेजेलमस द्वारा बेरीकोंडा पैकेज मैनेजर की जांच करें । यह मूल रूप से मिनिकोंडा के armv7l संस्करण का एक अधिक अद्यतित संस्करण है , और इसे स्रोत से संकलित करने की आवश्यकता के बिना पायथन 3.6 पैकेज उपलब्ध है।

वैकल्पिक रूप से, यदि आप पहले से ही condaस्थापित हैं, तो आप बस बेरीकोंडा के डिफ़ॉल्ट आरपीआई चैनल को जोड़ने और पायथन 3.6 को स्थापित करने का प्रयास कर सकते हैं :

conda config --add channels rpi
conda install python=3.6

खैर, यह स्रोत से संकलन की तुलना में कहीं अधिक सरल है। धन्यवाद!
एकेवू

1
पूर्णता के लिए, के साथ कि अनुवर्तीconda create -n py36 python=3.6
brittohalloran

बेरीकोंडा, एक उत्कृष्ट समाधान क्या है!
डीजेके

@brittohaloran इस टिप्पणी के रूप में यह कॉन्डा baseवातावरण में पायथन 3.6.6 को स्थापित करता है, इसलिए आप संभवतः अपने बनाए हुए env को कुछ वर्णनात्मक नाम देना चाहते हैं जो आप उस env में डालने की योजना बनाते हैं (इसके अलावा कुछ और py36)।
होब्स

एक आकर्षण की तरह काम करता है, सबसे अच्छा और सरल उपाय
अनुदान

12

रास्पबेरी पाई 3 में तेजी से निर्माण के लिए मेक कमांड में -j4 परम का उपयोग करें:

make -j4

3
बहुत तेज लग रहा था! एक मिनट या दो बनाम 15+ मिनट बिना -j4 !!!
JxAxMxIxN

1
वह परम क्या करता है?
टाइमब्रम

2
परम -j4 4 समानांतर नौकरियों को शुरू करने के लिए कहता है, इसलिए यह एक ही समय में सभी 4 सीपीयू कोर का उपयोग कर सकता है।
हडोजनीज

4

मैं एक RPi2 का उपयोग कर रहा हूं, और मैं सफलतापूर्वक python3.6 को स्थापित करने के लिए सुझाई गई प्रक्रिया का पालन करने में कामयाब रहा। लेकिन जैसा कि एक टिप्पणीकार ने बताया, मैं एसएसएल के साथ समस्याओं में भाग गया जब मैंने पाइप के साथ पैकेज स्थापित करने की कोशिश की ।

मैंने अलग विषय पर एक और सूत्र से सीखा कि मुझे संकलन करने से पहले ssl को स्थापित करने की आवश्यकता है।

sudo apt-get install libssl-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar xzvf Python-3.6.0.tgz
cd Python-3.6.0/
./configure
make
sudo make install
python3.6 -V
python3.6 -m pip install --upgrade pip
python3.6 -m pip install --user numpy 
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install लिबेटलास-बेस-देव गफ़रान

python3.6 -m pip install --user scipy

पाइप के साथ स्कैपी की स्थापना में बहुत लंबा समय (घंटे) लगता है और मैं एक समाधान की तलाश कर रहा हूं। मैं इस पर वापस आ जाऊंगा। अब स्थापना के बाकी हिस्सों को रोक दिया गया है।

python3.6 -m pip install --user matplotlib

python3.6 -m pip install --user ipython

python3.6 -m pip install --user jupyter

python3.6 -m pip install --user पांडा

python3.6 -m pip install --user सिम्पी

python3.6 -m pip install --user nose

Python3.6 को दूसरी बार संकलित करने का उल्टा दूसरी बार बहुत तेज संकलन था। दूसरी ओर, इसे सुन्न स्थापित करने में लंबा समय लगता है, और यही कारण है कि मैं पैकेज की स्थापना को विभाजित करता हूं।


बाहरी प्लेटफ़ॉर्म-विशिष्ट निर्भरता के कारण, सुपी और स्कैपी की स्थापना अपने आप में एक बाधा है और संभवतः इसे स्रोत से किया जाना चाहिए, न कि पाइप से। : यहां समस्या को मेरा उत्तर देखें raspberrypi.stackexchange.com/a/77856/79467 । दूसरी ओर स्थापना वास्तव में इस तरह से तेज नहीं है, लेकिन रनटाइम गति काफी हद तक होगी।
तेगूसो

1

आपको सभी निर्भरताएं स्थापित करने की आवश्यकता है। उन सभी चेतावनी संदेशों, त्रुटि संदेशों और "नहीं" चेक को संबोधित करने की आवश्यकता है।


आप इनका उदाहरण कैसे देते हैं: checking Solaris LFS bug... noया checking getaddrinfo bug... no, या checking for the Android API level... not Android? और सबसे महत्वपूर्ण बात: checking for python3.6... noपायथन 3.6 स्थापित करते समय आप इसे कैसे संबोधित करते हैं ?
Techraf

@techraf ये विशिष्ट ठीक हैं। यह चीजों को ठीक करने के लिए जाँच कर रहा है, निर्भरता पर नहीं। यदि आप इसे स्थापित करने का प्रयास कर रहे हैं, तो अंतिम एक ही जाँच कर रहा है यदि आपके पास पहले से ही पायथन 3.6 है।
tlhIngan

इसलिए यद्यपि आपने सुझाव दिया था कि ' उन सभी [] "नहीं" चेकों को संबोधित करने की आवश्यकता है , जो विशिष्ट थे वे ठीक थे। मुझे कैसे पता चलेगा कि कौन से ठीक हैं, फिर? मुझे 170 "नग" मिले। हैं: checking for conio.h... noया checking for pthread_init... no, या checking for libutil.h... noविशिष्ट-और-ठीक है, या आवश्यकता-से-संबोधित किया जा रहा है?
तिकड़ी

ऐसा लगता है कि यह सी हेडर फ़ाइलों और घटकों के लिए जाँच कर रहा है जो पहले से ही स्थापित हो सकते हैं। इस मामले में, मुझे लगता है कि आप "चेक" को अनदेखा कर सकते हैं, यह सिर्फ मेकफाइल को एक साथ रखने वाले कंपाइलर की मदद कर रहा है, जैसा कि दूसरे उत्तर में बताया गया है। त्रुटियों और चेतावनी को निश्चित रूप से संबोधित करने की आवश्यकता है, लेकिन ये जांच ठीक हैं।
tlhIngan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.