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.
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
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 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
Die folgenden Pakete wurden vorgestellt.
$ sudo /usr/local/bin/pip3 install ipython jinja2 tornado pyzmq
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