Streuen Sie Python-3.8.5 unter CentOS ohne Root-Rechte

Einführung

GCC-9.3.0 und [OpenMPI-3.1.6](https: // s :) wurden in der Umgebung von CentOS 7.3 und GCC-4.8.5 ohne Rootberechtigung als Streuner erstellt Basierend auf //qiita.com/yonedat/items/d4a764a9a527364ac954) möchte ich dieses Mal Python-3.8.5 mit einem Streubau erstellen und mpi4py für die Parallelisierung hinzufügen.

Vorbereitung

Laden Sie Python, OpenSSL und libffi herunter.

-https://sourceware.org/libffi/ -https://github.com/openssl/openssl -https://www.python.org/downloads/source/

Die diesmal verwendeten Versionen sind libffi-3.3, openssl-1.1.1g und python-3.8.5. Ich könnte Python-3.8.5 erstellen, ohne libffi und OpenSSL vorab zu erstellen, aber beim Piping wird ein OpenSSL-Fehler angezeigt. Wenn Sie nach "pip OpenSSL" usw. suchen, werden Sie verschiedene Dinge finden, aber es scheint, dass Sie eine neue Version von OpenSSL aus Python 3.7 benötigen. Durch die Installation einer neuen OpenSSL kann auch numpy usw. mit pip eingegeben werden, aber mpi4py generiert zum Zeitpunkt von pip den Fehler "ModuleNotFoundError: Kein Modul mit dem Namen'_ctypes '". Dies scheint durch die Installation von libffi gelöst zu werden, aber es scheint einen Fehler zu geben, der nicht mit libffi verknüpft werden kann, wenn Python-3.8.5 so erstellt wird, wie es ist.

Erstellen und installieren Sie OpenSSL

Ich habe versucht, OpenSSL mit GCC-9.3.0 zu erstellen, aber aus irgendeinem Grund ist ein Fehler aufgetreten. Deshalb habe ich es vorerst mit dem Standard-GCC-4.8.5 erstellt.

tar xzvf openssl-OpenSSL_1_1_1g.tar.gz
cd openssl-OpenSSL_1_1_1g
./config --prefix=$HOME/tools/OpenSSL-1.1.1g shared zlib enable-tls1_3
make -j 24
make install

Fügen Sie nach der Installation von OpenSSL Folgendes zu .bash_profile hinzu.

PATH=$HOME/tools/OpenSSL-1.1.1g/bin:$PATH
LD_LIBRARY_PATH=$HOME/tools/OpenSSL-1.1.1g/lib:LD_LIBRARY_PATH

Erstellen und installieren Sie libffi

Wie bei OpenSSL ist beim Erstellen mit GCC-9.3.0 ein Fehler aufgetreten. Ich denke, es gibt wahrscheinlich ein Problem mit den Pfadeinstellungen, aber ich werde es später betrachten. Lassen Sie es uns vorerst so bauen, wie es mit GCC-4.8.5 ist, das standardmäßig enthalten war.

tar -zxvf libffi-3.3.tar.gz
mv libffi-3.3 libffi_work
cd libffi_work
mkdir build
cd build
../configure --prefix=$HOME/tools/libffi-3.3
make -j 24
make install

Nach Abschluss der Installation von libffi habe ich Folgendes zu .bash_profile hinzugefügt.

export LD_LIBRARY_PATH=$HOME/tools/libffi-3.3/lib64:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$HOME/tools/libffi-3.3/lib/pkgconfig:$PKG_CONFIG_PATH

Erstellen und installieren Sie Python-3.8.5

Wie oben erwähnt, tritt beim Piping nach der Installation von Python ein Fehler auf, wenn Sie OpenSSL und libffi nicht im Voraus installieren. Es scheint jedoch einen Fehler zu geben, den Sie beim Erstellen von Python nicht mit libffi verknüpfen können. Für 4 Dateien ändern von Makefile.pre.in, configure, configure.ac, setup.py im obersten Verzeichnis nach dem Dekomprimieren von Python. Es gab Commits / 62384c971db4a8c309e2a95764f06e7bf601c014). Korrigieren Sie diese und speichern Sie sie durch Überschreiben. Installieren Sie danach wie folgt.

tar Jxfv Python-3.8.5.tar.xz
mv Python-3.8.5 py_work
cd py_work
mkdir build
cd build
../configure --prefix=$HOME/tools/Python-3.8.5 --enable-shared --with-openssl=$HOME/tools/OpenSSL-1.1.1g --with-ensurepip LDFLAGS=-Wl,-rpath,$HOME/tools/Python-3.8.5/lib CC=$HOME/tools/gcc-9.3.0/bin/gcc CPP=$HOME/tools/gcc-9.3.0/bin/cpp CPPFLAGS="-I$HOME/tools/gcc-9.3.0/include -I$HOME/tools/OpenSSL-1.1.1g/include -I$HOME/tools/libffi-3.3/include"
make j 36
make install

Fügen Sie nach Abschluss der Installation Folgendes zu .bash_profile hinzu.

PYTHON_HOME=$HOME/tools/Python-3.8.5
PYTHONPATH=$PYTHON_HOME/lib/python3.8/site-packages
PATH=$PYTHON_HOME/bin:$PATH
export PYTHON_HOME PYTHONPATH PATH

Ich habe einen symbolischen Link wie unten gezeigt erstellt.

cd ~/bin/
ln -s ~/tools/Python-3.8.5/bin/python3.8 python38

Versuchen Sie auch, numpy und mpi4py hinzuzufügen.

cd ~/tools/Python-3.8.5/bin
pip3 install numpy
pip3 install mpi4py

Mit dem oben genannten kann Python-3.8.5 basierend auf GCC-9.3.0 und OpenMPI-3.1.6 mit einem Streubau erstellt werden. Numpy und mpi4py scheinen vorerst problemlos zu funktionieren.

Recommended Posts

Streuen Sie Python-3.8.5 unter CentOS ohne Root-Rechte
Erstellen Sie eine Python3-Umgebung unter CentOS7
Installation von Python, Numpy, Scipy ohne Root-Rechte unter Linux
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Installieren Sie Python3.4 unter CentOS 6.6
Installieren Sie Python 2.7.3 unter CentOS 5.4
Build Python auf Ubuntu
Streunender Build von Python 3 auf Sakuras Mietserver (Hinweis)
Installieren Sie Python 3.8 unter CentOS 7 (SCL)
Erstellen Sie eine Python-Umgebung unter Windows
Erstellen Sie eine Python-Umgebung mit Windows
Installieren Sie Python 3.8 unter CentOS 8 (AppStream)
Hinweise zur Installation von Python unter CentOS
Installieren Sie CaboCha ohne Root-Rechte.
Erstellen Sie unter CentOS 7.7 eine Python-Umgebung für Ihren Heimserver
Docker bauen Python basierend auf alpinen
[Linux] Installieren Sie Python 3 ohne Administratorrechte
Richten Sie die Python-Umgebung unter CentOS ein
Erstellen Sie eine Python-Umgebung in Centos
Installieren Sie Python unter CentOS mit Pyenv
Erstellen Sie die Python 3.8 + Pipenv-Umgebung unter Ubuntu 18.04
Installieren Sie Python unter CentOS mit pyenv
Build-Umgebung für Python 2.7, 3.4, 3.5-Erweiterungsmodule unter Windows
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Ein Memo mit Python2.7 und Python3 in CentOS
Erstellen Sie einen CGI-Server, der unter Python 3 in Docker ausgeführt wird
Herstellen einer Verbindung von Python zu MySQL unter CentOS 6.4
Verwenden Sie es, ohne Python 2.x unter Windows zu installieren
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
Erstellen Sie WordPress unter CentOS 8 in einer LAMP-Umgebung
Erstellen Sie ein Jupyter-Notebook auf einem Remote-Server (CentOS).
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Erstellen Sie Python 1.0
Erstellen Sie CentOS 8 unter ESXi 6.7 mit minimaler Konfiguration
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erstellen Sie die Python3.5 + matplotlib-Umgebung unter Ubuntu 12 mit Anaconda
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
[Ansible] Installieren Sie dnf unter Centos7 mit dem Python3-Interpreter
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Erstellen einer einfachen virtuellen Python-Umgebung ohne Verwendung von pyenv
Erstellen Sie eine Python3 + -Kolbenumgebung auf der Compute Engine von GCP
Führen Sie Flask unter CentOS mit Python3.4, Gunicorn + Nginx aus.
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Python2.7 + CentOS7 + OpenCV3
Python unter Windows
Twitter mit Python3
Python auf Mac
Python auf Windbg
CentOS8 --Installieren - Python3
Erstellen Sie CentOS8 LAMP
Grundeinstellungen für die Verwendung von Python3.8 und pip unter CentOS8
[CentOS 7.3] Erstellen Sie einen FTP-Server auf dem ESXi-Host
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Installieren Sie Python3 auf einem Mac und erstellen Sie eine Umgebung [Definitive Edition]
# 2 Erstellen Sie eine Python-Umgebung mit einer EC2-Instanz von AWS (ubuntu18.04).
Erstellen Sie eine Python-Umgebung für maschinelles Lernen unter Mac OS
Erstellen Sie die Python-Erweiterung E-Cell 4 unter Windows 7 (64 Bit).
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)