Zusammenfassung vom Erstellen von Python 3.4. * Von der Quelle zum Erstellen einer wissenschaftlichen Computerumgebung

Als ich versuchte, etwas mit Anaconda zu tun (https://store.continuum.io/cshop/anaconda/), wurde ich wütend auf "munmap_chunk (): ungültiger Zeiger", als ich eine große Tabelle mit Pandas las, also gab ich auf. Ich habe das Python 3.4-System aus der Quelle erstellt und die Umgebung für wissenschaftliche Berechnungen erstellt, also die Zusammenfassung.

Vorbereitete Umgebung

Erstellen Sie Python

Installieren Sie die erforderlichen Bibliotheken, bevor Sie Python selbst erstellen. Selbst wenn diese nicht enthalten sind, wird die Python-Installation selbst sicher durchgeführt. Später wird jedoch ein nicht gefundener Fehler in der Bibliothek auftreten und ich muss Python neu installieren, sodass ich ihn trotzdem zuerst einfügen kann. (Selbstdisziplin)

$ sudo yum groupinstall --skip-broken "Development tools"
$ sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Erstellen Sie den Python selbst. (Dieses Mal werden wir die aktuelle Version 3.4.2 vorstellen.) Installieren Sie es diesmal unter / usr / local. Überprüfen Sie die Version von der folgenden Site. https://www.python.org/downloads/source/

$ wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
$ tar xzvf Python-3.4.2.tgz
$ cd Python-3.4.2
$ ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
$ make
$ sudo make install

Die Installation ist abgeschlossen, wenn die folgenden Befehle ausgeführt werden können.

$ which python3
/usr/local/bin/python3

Wenn der Python-Build erfolgreich ist, sollte pip automatisch installiert werden. Überprüfen Sie dies mit dem folgenden Befehl.

$ which pip3
/usr/local/bin/pip3

Installation verschiedener Pakete

Installation von Paketen für wissenschaftliche Berechnungen

Installieren Sie die für die Installation von Scipy erforderlichen Pakete im Voraus.

sudo yum install blas-devel lapack-devel

Mit Ausnahme bestimmter Pakete kann es problemlos mit pip3 eingeführt werden.

$ sudo /usr/local/bin/pip3 install nose pytest numpy scipy scikit-learn pandas

Installieren Sie matplotlib

Installieren Sie die für die Installation von matplotlib erforderlichen Pakete im Voraus.

$ sudo yum install libpng-devel

Wenn ich versuche, matplotlib mit pip3 zu installieren, schlägt der Build mit der folgenden Meldung fehl.

============================================================================

                        * The following required packages can not be built:

                        * freetype

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/matplotlib
Storing debug log for failure in /root/.pip/pip.log

Wenn Sie sich die Fehlermeldung genau ansehen, finden Sie die folgende Meldung.

REQUIRED DEPENDENCIES AND EXTENSIONS
...
              freetype: no  [Requires freetype2 2.4 or later.  Found

                        2.3.11.]

Um matplotlib zu installieren, ist freetype2 2.4 oder höher erforderlich, aber es scheint, dass 2.3.11 standardmäßig enthalten ist. Hier haben wir uns entschlossen, Freetype aus der Quelle zu erstellen. Die Quelle kann von der folgenden Site heruntergeladen werden. http://download.savannah.gnu.org/releases/freetype/

$ wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
$ tar xzvf freetype-2.5.3.tar.gz
$ cd freetype-2.5.3
$ ./configure
$ make
$ sudo make install

Als ich pip3 nach Abschluss dieses Vorgangs erneut versuchte, trat diesmal der folgende Fehler auf.

Downloading/unpacking matplotlib
  Downloading matplotlib-1.4.0.tar.gz (51.2MB): 51.2MB downloaded
  Running setup.py (path:/tmp/pip_build_root/matplotlib/setup.py) egg_info for package matplotlib
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip_build_root/matplotlib/setup.py", line 154, in <module>
        result = package.check()
      File "/tmp/pip_build_root/matplotlib/setupext.py", line 945, in check
        min_version='2.4', version=version)
      File "/tmp/pip_build_root/matplotlib/setupext.py", line 433, in _check_for_pkg_config
        if (not is_min_version(version, min_version)):
      File "/tmp/pip_build_root/matplotlib/setupext.py", line 166, in is_min_version
        return found_version >= expected_version
      File "/usr/local/lib/python3.4/distutils/version.py", line 76, in __ge__
        c = self._cmp(other)
      File "/usr/local/lib/python3.4/distutils/version.py", line 343, in _cmp
        if self.version < other.version:
    TypeError: unorderable types: str() < int()

Nach der Untersuchung dieses Fehlers stellte sich heraus, dass es sich um einen bekannten Fehler in der Python 3.3 / 3.4-Serie handelt. Weitere Informationen finden Sie in der folgenden Ausgabe. http://bugs.python.org/issue14894

Laden Sie das hier aufgeführte 14894.patch herunter und wenden Sie es auf Python an. (Wann wird diese Änderung auf Python selbst angewendet und veröffentlicht ...)

$ wget http://bugs.python.org/file25808/14894.patch
$ cd /usr/local/lib/python3.4/distutils/
$ sudo patch -p3 < /path/to/patch/14894.patch 

Durch Ausführen von pip3 am Ende kann matplotlib installiert werden.

$ sudo /usr/local/bin/pip3 install matplotlib

Installieren Sie das Paket, um IPython Notebook auszuführen

Die folgenden Pakete wurden vorgestellt.

$ sudo /usr/local/bin/pip3 install ipython jinja2 tornado pyzmq

Ende

Danach habe ich IPython Notebook Server ausgeführt und pytest / Theano / wabbit_wappa eingegeben, aber das Zusammenstellen wurde schwierig, sodass es hier endet. Für IPython Notebook Server sind die folgenden Websites als Referenz gut organisiert. http://akiniwa.hatenablog.jp/entry/2013/11/25/001805

Enjoy PyData!

Recommended Posts

Zusammenfassung vom Erstellen von Python 3.4. * Von der Quelle zum Erstellen einer wissenschaftlichen Computerumgebung
Vom Aufbau einer Python-Umgebung für unerfahrene Personen bis zur Hello-Welt
Von der Installation von Ansible bis zum Erstellen einer Python-Umgebung in der virtuellen Umgebung von Vagrant
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Erstellen einer virtuellen Python-Umgebung
Erstellen einer virtuellen Python-Umgebung
Erstellen einer Python-Umgebung auf einem Mac
Erstellen einer Python-Umgebung unter Ubuntu
Erstellen einer virtuellen Umgebung mit Python 3
[Python] Erstellen einer virtuellen Python-Umgebung für das Pyramiden-Tutorial (Zusammenfassung)
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Ich möchte eine Python-Umgebung erstellen
[Mac] Erstellen einer virtuellen Umgebung für Python
Erstellen einer Python-Entwicklungsumgebung für die KI-Entwicklung
Fügen Sie VSCode eine virtuelle Python-Umgebung hinzu
Erstellen einer Python-Entwicklungsumgebung unter Windows - Von der Installation von Anaconda bis zur Verknüpfung von Atom und Jupyter Notebook -
Erstellen einer virtuellen Umgebung für Mayavi für Python 3.6-, Anaconda- und Spyder-Benutzer
Migration von Python2 zu Python3 (Python2 wird als virtuelle Umgebung neu erstellt und existiert gleichzeitig)
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
So öffnen Sie einen Webbrowser über Python
Erstellen einer Python-Umgebung mit virtualenv und direnv
So generieren Sie ein Python-Objekt aus JSON
[Python] Webentwicklungsvorbereitung (Erstellen einer virtuellen Umgebung)
Denken Sie daran, eine Python 3-Umgebung in einer Mac-Umgebung zu erstellen
Einführung in Python "Re" 1 Erstellen einer Ausführungsumgebung
Erstellen einer Python-Umgebung auf dem Sakura VPS-Server
Von der Python-Umgebungskonstruktion zur virtuellen Umgebungskonstruktion mit Anaconda
Hinweise von der Installation von Homebrew bis zum Erstellen einer Anaconda-Umgebung für Python mit pyenv
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Installieren Sie Python von der Quelle
Erstellen Sie eine Python-Umgebung
Vom Einrichten des Raspberry Pi bis zur Installation der Python-Umgebung
Erstellen einer Python-Umgebung mit pyenv, pyenv-virtualenv, Anaconda (Miniconda)
Schreiben Sie über das Erstellen einer Python-Umgebung zum Schreiben von Qiita Qiita
So richten Sie eine Python-Umgebung mit pyenv ein
Empfehlung zum Erstellen einer tragbaren Python-Umgebung mit conda
Erstellen einer R- und Python Docker-Arbeitsumgebung
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)
Aufbau der Python-Entwicklungsumgebung 2020 [Von der Python-Installation bis zur Einführung in die Poesie]
Betrachten Sie die Konvertierung von Python rekursiv in nicht rekursiv
Verfahren zum Konvertieren einer Python-Datei in eine Exe aus der Ubunts-Umgebungskonstruktion
conda Hinweis: Erstellen einer Python-Umgebung mit Spacon ITO
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Python-Umgebungskonstruktion für Programmieranfänger (Mac OS)
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
[Python] So rufen Sie eine Funktion von c aus Python auf (ctypes edition)
[Es ist noch nicht zu spät, Python ab 2020 zu lernen] Teil 2 Erstellen wir eine Python-Entwicklungsumgebung
Post von Python nach Slack
Führen Sie das Programm aus, ohne eine Python-Umgebung zu erstellen! !! (Erste Schritte mit Google Colaboratory)