=====Redsleeve Linux Betriebssystem 7.1 mit Python 3.4 für den Raspberry PI 2===== Da Pidora noch nicht so recht den Pi 2 verfügbar ist, alternativ http://www.redsleeve.org/ installiert. Für die Installation sieh auch die Original Anleitung unter https://wiki.redsleeve.org/index.php/Install_Rasperry_Pi Anmerkungen: * Für das Schreiben der Image Datei diese zuvor mit http://www.7-zip.org auch als bin file entpacken! * Einrichten des Systems im weiteren gleich/ähnliche wie das Pidora Setup, siehe => [[raspberry:pidora_quick_install|Pidora als Linux Betriebsystem für den Raspberry PI]] ===Root Filesystem vergrößern== yum install e2fsprogs # Partition löschen und neue Partition mit einen Block höher als die alte Partition anlegen fdisk /dev/mmcblk0 p Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA) /dev/mmcblk0p2 122880 1945599 911360 83 Linux Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 is deleted Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p Partition number (2-4, default 2): 2 First sector (2048-124735487, default 2048): 122880 Last sector, +sectors or +size{K,M,G} (122880-124735487, default 124735487): Command (m for help): w The partition table has been altered! #---- reboot #--- resize2fs /dev/mmcblk0p2 #--- df -h === Update === Die Mirror Einträgen in der yum Konfiguration zeigen leider nicht auf ein existierenden Mirror File nach der Basis Installation des Images. Auf folgende Repositories URL's angepasst: * /etc/yum.repos.d/raspberry.repo * mirrorlist=http://ftp.redsleeve.org/pub/el7-devel/el7/raspberrypi/mirrors * /etc/yum.repos.d/Redsleeve.repo * mirrorlist=http://www.mirrorservice.org/sites/ftp.redsleeve.org/pub/el7/packages/base/mirrors * mirrorlist=http://www.mirrorservice.org/sites/ftp.redsleeve.org/pub/el7/packages/updates/mirrors ====Python 3==== Python 3.4 steht als Packet (09.2015) noch nicht zur Verfügung. Daher muss das von den Sourcen aufgebaut und installiert werden. ===Vorbereitungen=== Code bereitstellen und notwendige Libraries + gcc installieren: #libs yum install libffi bluez gdb valgrind gcc expat-devel yum install zlib-devel bzip2-devel mkdir /srv/python3 cd /srv/python3 wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz tar xfv Python-3.4.3.tar.xz cd Python-3.4.3 === Python 3 übersetzen === export CXX="/usr/bin/g++" ./configure #bzw mit entsprechenden Parametern ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ --with-system-ffi \ --with-ensurepip \ LDFLAGS="-Wl,-rpath /usr/lib" #Übersetzen make #Installieren make install #Rechte anpassen chmod -v 755 /usr/lib/libpython3.4m.so chmod -v 755 /usr/lib/libpython3.so === Alternatives für Python einrichten=== Unter Linux sollten die verschienden Varianten einer Software mit "alternatives" umgeschaltet werden. ls -la /usr/bin/python* alternatives --list alternatives --install /usr/bin/python python /usr/bin/python2.7 1 alternatives --install /usr/bin/python python /usr/bin/python3.4 2 #überpürfen alternatives --display python python - status is auto. link currently points to /usr/bin/python3.4 /usr/bin/python2.7 - priority 1 /usr/bin/python3.4 - priority 2 Current 'best' version is /usr/bin/python3.4. #umschalten alternatives --config python #test python --version === Packete nachinstallieren === ==pip== - Download des Scripts „get-pip.py“ von https://pip.pypa.io/en/latest/installing.html#install-pip - Script „get-pip.py“ zum Beispiel nach ~/ kopieren - Script mit "python get-pip.py" aufrufen Problem: [root@localhost ~]# python get-pip.py Traceback (most recent call last): File "get-pip.py", line 17759, in main() File "get-pip.py", line 162, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", line 82, in bootstrap import pip zipimport.ZipImportError: can't decompress data; zlib not available Zlib wurde beim obigen Bulid nicht sauber mit integriert, liegt wohl daran das die Libraries nicht dort liegen wo sie sollten .... Bin am suchen .... , erster Test mit weiteren Paramter "LDFLAGS="-Wl,-rpath /usr/lib"" sieht vorerst noch gut aus, übersetzt mal was. Prüfen wie Python übersetzt wurde: python -c "import sysconfig; print( sysconfig.get_config_var('CONFIG_ARGS') )" '--prefix=/usr' '--enable-shared' '--with-system-expat' '--with-system-ffi' '--with-ensurepip' 'LDFLAGS=-Wl,-rpath /usr/lib' Nächster Fehler: python get-pip.py ... File "/tmp/tmpu65xb4ai/pip.zip/pip/_vendor/distlib/compat.py", line 66, in ImportError: cannot import name 'HTTPSHandler' Hier fehlt wohl auch noch die SSL Unterstützung beim Übersetzen ..... ===Quellen=== * http://www.linuxfromscratch.org/blfs/view/svn/general/python3.html