RPi3'ümü Python 3.6'ya nasıl güncellerim?


39

Python 3.6 daha yeni çıktı. Bir tarball'dan oluşturmak için bu talimatları izlemeye çalıştım , ancak makekomutta telefonu kapattım, bu yüzden işlemi 20 dakika sonra sona erdirdim.

./configureKomuta giderken, bir takım kontrollerin "hayır" ile bittiğini de fark ettim . Böyle bir şeyi geri alıp kurmam gerekiyor mu?


Muhtemelen bunları denemelisiniz: askubuntu.com/a/865569
Sagu

Yanıtlar:


34

RPi3'ümü Python 3.6'ya nasıl güncellerim?

Bugün itibariyle, yalnızca kaynaktan yükleme yapılabilir. Başvuruda bulunduğunuz talimatlar 3.6 sürümü için doğru. Tekrarlamak için:

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

Raspberry Pi 3'teki taze bir Raspbian'da, sınıf 10 SD kart (YMMV):

  • configure 2 dakika sürer
  • make yaklaşık 15 dakika sürer (stderr'e 8 uyarı verir)
  • sudo make install yaklaşık 2 dakika sürer

Böyle bir şeyi geri alıp kurmam gerekiyor mu?

configureKomut dosyası bir hata bildirmediği sürece , cevap: hayır, elbette değil.

configurebir dizi kontrol gerçekleştirir ve sonuçları girdi oluşturmak için kullanır Makefile. Sonuçlar mimariye, donanım özelliklerine vb. Bağlıdır. Bunlar başarılı bir derleme için şart değildir. İlk kontrollerden biri, sonucun kesinlikle olacağı Python 3.6'nın kontrolü no.

make -j4 make işleminde 4 rpi çekirdeğin hepsini kullanır (çok daha hızlı)


Sadece bunu denedim, ama sonsuza dek sürüyor. configure 134 dakika sürdü ve make bir saatten fazla bir süredir çalışıyor. Model RPi3, en son raspbian. Bunun neden bu kadar uzun sürdüğü hakkında fikrin var mı?
Gizem

@Sy kartınızı gizlemek muhtemelen çok yavaş. İyi bir markadan (Sandisk, Samsung vb.) Bir şey alın ve en az 10 sınıf olduğundan emin olun (Sandisk buna "Ultra" diyor).
Tarun

2
Bu derlemede yorumda bulunacağımı düşündüm, derlemeden ve kurmadan ÖNCE gerekli paketleri yüklemeyi hatırlamanız gerekir, aksi takdirde pip3 SSL hataları nedeniyle çalışmaz (evet, Sıfır W'imde bir kurulumda 2 saat kadar beklemek zorunda kaldım) ). Gerekli paketler burada: tecadmin.net/install-python-3-6-ubuntu-linuxmint
MortenMoulder

Rb pi3'te Python 3.7.2 ile hata oluştu sudo apt-get install libffi-dev, bu yanıtta önerildiği şekilde çalıştırılarak çözüldü stackoverflow.com/a/48045929/2343488
juliocesar

24

Berryconda paket yöneticisine jjhelmus tarafından bakmanızı şiddetle tavsiye ederim . Temelde Miniconda'nın armv7l versiyonunun daha güncel bir sürümüdür ve Python 3.6 paketini kaynaktan derlemeye gerek kalmadan sunar.

Alternatif olarak, zaten condayüklediyseniz, sadece Berryconda'nın varsayılan rpi kanalını eklemeyi ve Python 3.6'yı kurmayı deneyebilirsiniz :

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

Şey, bu kaynaktan derlemekten çok daha basit. Teşekkürler!
Ekevoo,

1
Tamamlanması için, takip edinconda create -n py36 python=3.6
brittohalloran

Berryconda, ne mükemmel bir çözüm!
DJK

@brittohaloran Conda baseortamında Python 3.6.6'yı yükleyen bu yorumdan dolayı , muhtemelen yarattığınız env'yi , bu env'ye koymayı planladığınız şeyi açıklayıcı bir şey olarak adlandırmak istersiniz (başka bir şey py36).
ocak

Bir cazibe, en iyi ve en basit çözüm gibi çalışır
Grant

12

Raspberry Pi 3'te hızlı kurulum için make komutunda -j4 paramını kullanın:

make -j4

3
Oldukça hızlı görünüyordu! Bir dakika veya iki vs 15+ dakika -j4 olmadan !!!
JxAxMxIxN

1
Bu param ne yapar?
Timbram

2
-J4 paragrafı 4 paralel iş başlatmasını söyler, böylece 4 CPU çekirdeğinin hepsini aynı anda kullanabilir.
hdiogenes

4

Bir RPi2 kullanıyorum ve python3.6'yı kurmak için önerilen prosedürü başarıyla izlemeyi başardım. Ancak bir yorumcunun işaret ettiği gibi , pip içeren paketleri kurmaya çalıştığımda ssl ile ilgili sorunlar yaşadım .

Derlemeye başlamadan önce farklı bir konudan ssl yüklemem gerektiğini öğrendim .

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 yüklemek libatlas-base-dev gfortran

python3.6 -m pip yükleme - kullanıcı scipy

pip ile scipy kurulumu çok uzun sürüyor (saat) ve ben bir çözüm arıyorum. Buna geri döneceğim. kurulumun geri kalanı şimdi bekletildi.

python3.6 -m pip kurulumu - kullanıcı matplotlib

python3.6 -m pip kurulumu - kullanıcı ipython

python3.6 -m pip kurulumu - kullanıcı jupyter

python3.6 -m pip kurulumu - kullanıcı pandalar

python3.6 -m pip kurulumu

python3.6 -m pip kurulumu - kullanıcı burnu

İkinci kez python3.6'yı derlemek zorunda kalmanın tersi, ikinci kez çok daha hızlı bir derleme oldu. Diğer taraftan, numpy'nin kurulması uzun zaman alıyor ve bu yüzden paket kurulumunu böldüm.


Numpy ve scipy'nin kurulumu kendi başına bir engeldir ve muhtemelen dış platforma özgü bağımlılıklar nedeniyle pipten değil kaynaktan yapılmalıdır. Buradaki soruna cevabımı görün: raspberrypi.stackexchange.com/a/77856/79467 . Öte yandan, kurulum bu şekilde gerçekten daha hızlı değil, ancak çalışma zamanı hızı önemli ölçüde olacak.
teoguso

1

Tüm bağımlılıkları yüklemeniz gerekiyor. Bütün bu uyarı mesajları, hata mesajları ve "hayır" kontrolleri ele alınmalı.


Örneğin, bunları nasıl ele alırsınız: checking Solaris LFS bug... noveya checking getaddrinfo bug... no, veya checking for the Android API level... not Android? Ve en önemlisi: checking for python3.6... noPython 3.6'yı kurarken bunu nasıl ele alıyorsunuz ?
Techraf

@techraf Bu özel olanlar tamam. Bağımlılığın değil, düzeltilmesi gereken şeyleri kontrol ediyor. Sonuncusu, yalnızca yüklemeyi denemeden önce Python 3.6 olup olmadığını kontrol ediyor.
Aralık'ta

Bu yüzden, ' Bütün olanlar []' hayır 'kontrollerin ele alınması gerekiyor ' demesini önermiş olsanız da , söz konusu olanlar tamam. Hangisinin uygun olduğunu nasıl bilebilirim? 170 tane "hayır" var. Bunlar:, checking for conio.h... noveya checking for pthread_init... no, veya checking for libutil.h... noözel ve tamam veya ele alınması gereken mi?
Techraf

Zaten yüklü olabilecek C başlık dosyalarını ve bileşenlerini kontrol ediyor gibi görünüyor. Bu durumda, "çekleri" görmezden gelebileceğinizi düşünüyorum, bu sadece derleyicinin başka bir cevapta açıklandığı gibi makefile'ı bir araya getirmesine yardımcı oluyor. Hatalar ve uyarının kesin olarak ele alınması gerekir, ancak bu kontroller iyi.
Aralık'ta
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.