Stray build Python-3.8.5 sur CentOS sans privilèges root

introduction

GCC-9.3.0 et [OpenMPI-3.1.6](https: // s :: Basé sur //qiita.com/yonedat/items/d4a764a9a527364ac954), cette fois, je voudrais construire Python-3.8.5 avec une version parasite et ajouter mpi4py pour la parallélisation.

Préparation

Téléchargez Python, OpenSSL et libffi.

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

Les versions utilisées cette fois sont libffi-3.3, openssl-1.1.1g et python-3.8.5. Je pourrais construire Python-3.8.5 sans pré-construire libffi et OpenSSL, mais j'obtiens une erreur OpenSSL lors du piping. Si vous recherchez "pip OpenSSL" etc., vous trouverez diverses choses, mais il semble que vous ayez besoin d'une nouvelle version d'OpenSSL de Python 3.7. De plus, en installant un nouvel OpenSSL, numpy etc. peut être entré avec pip, mais mpi4py provoquera une erreur de "ModuleNotFoundError: No module named'_ctypes '" au moment de pip. Cela semble être résolu en installant libffi, mais il semble y avoir un bogue qui ne peut pas être lié à libffi si Python-3.8.5 est construit tel quel.

Construire et installer OpenSSL

J'ai essayé de construire OpenSSL avec GCC-9.3.0, mais pour une raison quelconque, j'ai eu une erreur, donc je l'ai construit avec le GCC-4.8.5 par défaut pour le moment.

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

Après avoir installé OpenSSL, ajoutez ce qui suit à .bash_profile.

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

Construire et installer libffi

Comme avec OpenSSL, j'ai eu une erreur en essayant de construire avec GCC-9.3.0. Je pense qu'il y a probablement un problème avec les paramètres de chemin, mais je l'examinerai plus tard. Pour le moment, construisons-le tel quel avec GCC-4.8.5 qui était inclus en standard.

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

Après avoir terminé l'installation de libffi, j'ai ajouté ce qui suit à .bash_profile.

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

Construire et installer Python-3.8.5

Comme mentionné ci-dessus, si vous n'installez pas OpenSSL et libffi à l'avance, une erreur se produira lors du piping après l'installation de Python, mais il semble y avoir un bogue que vous ne pouvez pas lier avec libffi lors de la construction de Python. Modifier pour 4 fichiers de Makefile.pre.in, configurez, configurez.ac, setup.py dans le répertoire supérieur après décompression de Python. Il y avait des commits / 62384c971db4a8c309e2a95764f06e7bf601c014), donc corrigez-le et enregistrez-le en écrasant. Après cela, installez selon la procédure suivante.

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

Une fois l'installation terminée, ajoutez ce qui suit à .bash_profile.

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

J'ai créé un lien symbolique comme indiqué ci-dessous.

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

Essayez également d'ajouter numpy et mpi4py.

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

Avec ce qui précède, Python-3.8.5 basé sur GCC-9.3.0 et OpenMPI-3.1.6 peut être construit avec une construction parasite. Pour le moment, numpy et mpi4py semblent fonctionner sans problème.

Recommended Posts

Stray build Python-3.8.5 sur CentOS sans privilèges root
Créer un environnement python3 sur CentOS7
Installation à partir des sources de python, numpy, scipy sans privilèges root sur Linux
Créez un environnement python avec ansible sur centos6
Installez Python3.4 sur CentOS 6.6
Installez Python 2.7.3 sur CentOS 5.4
construire Python sur Ubuntu
Version errante de Python 3 sur le serveur de location de Sakura (Remarque)
Installez Python 3.8 sur CentOS 7 (SCL)
Créer un environnement Python sur Windows
Construire un environnement Python avec Windows
Installez Python 3.8 sur CentOS 8 (AppStream)
Remarques sur l'installation de Python sur CentOS
Installez CaboCha sans privilèges root.
Créez un environnement python sur CentOS 7.7 pour votre serveur domestique
docker build python basé sur alpin
[Linux] Installez Python 3 sans privilèges d'administrateur
Configurer l'environnement Python sur CentOS
Créer un environnement python dans centos
Installer Python sur CentOS à l'aide de Pyenv
Créer un environnement Python 3.8 + Pipenv sur Ubuntu 18.04
Installez Python sur CentOS en utilisant pyenv
Environnement de création de module d'extension Python 2.7, 3.4, 3.5 sous Windows
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Construire un environnement python sur MacOS (Catallina)
Un mémo contenant Python2.7 et Python3 dans CentOS
Créer un serveur CGI fonctionnant sur Python 3 sur Docker
Connexion de python à MySQL sur CentOS 6.4
Utiliser sans installer python 2.x sous Windows
Créer un environnement Python avec Anaconda sur Mac
Construire WordPress sur CentOS 8 dans l'environnement LAMP
Construire un notebook jupyter sur un serveur distant (CentOS)
Créer un environnement Python + OpenCV sur Cloud9
Construire Python 1.0
Construisez CentOS 8 sur ESXi 6.7 avec une configuration minimale
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Construire l'environnement Python3.5 + matplotlib sur Ubuntu 12 en utilisant Anaconda
Créez simplement un environnement d'exécution Python 3 sous Windows
Créer un environnement Python sur Mac (Mountain Lion)
[Ansible] Installer dnf sur Centos7 avec l'interpréteur Python3
Créez un environnement de développement Python sur votre Mac
Créer un environnement virtuel Python simple sans utiliser pyenv
Créez un environnement Flask Python3 + sur Compute Engine de GCP
Exécutez Flask sur CentOS avec python3.4, Gunicorn + Nginx.
Construire un environnement de développement Python sur Raspberry Pi
Python2.7 + CentOS7 + OpenCV3
Python sur Windows
twitter avec python3
python sur mac
Python sur Windbg
CentOS8 --Installer --Python3
Construire la LAMPE CentOS8
Paramètres initiaux pour l'utilisation de Python3.8 et pip sur CentOS8
[CentOS 7.3] Créer un serveur FTP sur l'hôte ESXi
Créer un environnement de développement Python basé sur GVim sur Windows 10 (3) GVim8.0 et Python3.6
Installez Python 3 sur Mac et créez un environnement [Definitive Edition]
# 2 Créez un environnement Python avec une instance EC2 d'AWS (ubuntu18.04)
Créer un environnement Python d'apprentissage automatique sur Mac OS
Construire l'extension Python E-Cell 4 sur Windows 7 (64 bits)
Créer un environnement de développement Python basé sur GVim sur l'installation de Windows 10 (1)