[CENTOS] Installer Python à partir de la source

Vous pouvez mettre python de yum, mais il n'y a pas toujours la dernière version, Cependant, je n'aime pas augmenter le nombre de référentiels inutilement, alors je l'ai installé à partir de la source. Le système d'exploitation est CentOS 7.

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

0. Toutes les étapes

# cd /usr/local/src
# curl -O https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
# tar Jxf Python-3.6.2.tar.xz
# cd Python-3.6.2
# ./configure --prefix=/usr/local/python362 --with-ensurepip
# yum -y install zlib-devel openssl-devel tk-devel
# make
# make test
# make install
# ln -s /usr/local/python362/bin/python3.6 /bin/python3
# ln -s /usr/local/python362/bin/pip3.6 /bin/pip3

1. Obtenez la dernière version de la source

Est-il difficile d'ouvrir le navigateur un par un? Recherche par curl. Supprimez l'affichage de la progression avec -s.

# curl -s https://www.python.org/downloads/source/ | grep -i latest
            <li><a href="/downloads/release/python-362/">Latest Python 3 Release - Python 3.6.2</a></li>
            <li><a href="/downloads/release/python-2713/">Latest Python 2 Release - Python 2.7.13</a></li>

La dernière version est la 3.6.2, alors téléchargez-la. -O est le même nom que la télécommande et sort localement. Puisqu'il s'agit d'une compilation antérieure, l'emplacement doit être user / usr / local / src.

# cd /usr/local/src
# curl -O https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

Décompressez. Le format xz peut être décompressé avec l'option J de tar.

# tar Jxf Python-3.6.2.tar.xz

2. Installation

Exécutez configure. Quant à la destination de l'installation, étant donné que la dernière version sera installée ultérieurement, Je veux le définir sur / usr / local / python362, alors spécifiez le préfixe dans configure. Au fait, pip est beaucoup utilisé, alors spécifiez de l'installer en même temps.

# cd Python-3.6.2
# ./configure --prefix=/usr/local/python362 --with-ensurepip

En exécutant configure, les bibliothèques système, les commandes, etc. Vérifiez ce dont vous avez besoin pour compiler Créez un Makefile qui inclut le préfixe facultatif et ainsi de suite.

Ensuite, installez le package prérequis pip (sinon).

# yum -y install zlib-devel openssl-devel tk-devel

Ensuite, compilez basé sur Makefile avec make.

# make

Ensuite, testez si le make test fonctionne.

# make test
(Abréviation)
zipimport.ZipImportError: can't decompress data; zlib not available
(Abréviation)
Tests result: FAILURE
make: *** [test]Erreur 1

Si ça ne marche pas, ça ressemble à ça. (Erreur lorsque zlib basé sur pip n'est pas inclus)

Après SUCCESS, installez enfin avec make install.

# make install

3. Créez un lien

Créez des liens vers python3 et pip3 sous / bin.

# ln -s /usr/local/python362/bin/python3.6 /bin/python3
# ln -s /usr/local/python362/bin/pip3.6 /bin/pip3

Enfin, affichez la version et vérifiez.

# python3 -V
Python 3.6.2
# pip3 -V
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

C'est tout.

4. Ne remplacez pas le lien

** J'étais accro à cela au début, donc je vais le laisser comme une leçon. ** **

Le lien existant est un lien vers la version 2, alors changez-le. Au fait, je vais également faire un lien pip.

# which python
/bin/python
# ls -l /bin/python
lrwxrwxrwx.1 racine racine 7 2 mai 13:00 /bin/python -> python2
# mv /bin/python /bin/_python
# ln -s /usr/local/python362/bin/python3.6 /bin/python
# ln -s /usr/local/python362/bin/pip3.6 /bin/pip

Enfin, affichez la version et vérifiez.

# python -V
Python 3.6.2
# pip -V
pip 9.0.1 from /usr/local/python362/lib/python3.6/site-packages (python 3.6)

Cela ne s'est pas terminé par * ... *

Ensuite, je l'ai installé et j'ai essayé de le mettre en scipy avec pip.

# pip install scipy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Oh oui, vous avez besoin de SSL. Alors mettons openssl-devel dans yum. (* En fait, un remake est requis)

# yum -y install openssl-devel
  File "/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

** (゜ ゜)… ** Je suis resté coincé avec un visage pendant un moment. La raison est La façon d'écrire sauf a changé depuis Python3.

Par conséquent, le shebang a été modifié comme suit en tant que mesure d'urgence. Je ne veux pas vraiment modifier les scripts des gens, mais ...

#!/usr/bin/python2

Si vous vous demandez si cela fonctionne avec

# yum -y install openssl-devel
(Abréviation)
Downloading packages:
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax


Il se termine par l'annulation de l'utilisateur

** Mata Omae? **

… Alors ne jouez pas avec les existants.

Recommended Posts

Installer Python à partir de la source
Installez Python à partir des sources avec Ansible
Installez Apache 2.4.41 depuis la source
Installer python
Installer ansible à partir du code source
Installez pyenv depuis Homebrew, installez Python depuis pyenv
Installez vim7.3 (+ python2.4) depuis la source (compatible avec Gundo.vim)
Installation d'Apache Maven (à partir des sources)
Compilez et installez Git à partir des sources.
Installation locale de Python
sql à sql
Installez NAOqi python
Installer depuis conda-forge
MeCab de Python
Installer le contrôle Python
CentOS8 --Installer --Python3
Installez PostgreSQL à partir du code source sur CentOS
Touchez MySQL depuis Python 3
Exploitez Filemaker depuis Python
Comment installer Python
Installez Python sur Pidora.
Installez Scrapy sur python3
Accéder à bitcoind depuis python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Python depuis ou import
Construire PostgreSQL à partir des sources
Utilisez MySQL depuis Python
Installez Python sur Mac
Installer Python 3 dans un environnement Mac
Exécutez Python à partir d'Excel
Installez Python3.4 sur CentOS 6.6
Exécuter des commandes depuis Python
Installation du laboratoire Python Jupyter
Installer une bibliothèque externe pour python
Faites fonctionner le neutron de Python!
Installer python (pyenv, pyenv-virtualenv)
Installez Voluptuous avec Python 2.5
Installez python sur Windows
Utiliser MySQL depuis Python
Faire fonctionner LXC depuis Python
Manipuler riak depuis python
Conseils d'installation de Python PyTorch
Forcer Python depuis Fortran
Installez Python 2.7.3 sur CentOS 5.4
Installez Python avec pyenv
Utilisez BigQuery depuis Python.
Installez Python 3.3 sur Ubuntu 12.04
Installez Python 3.4 sur Mac
Exécuter la commande depuis Python
[Python] Lire depuis Stdin
Installez Python 3.6 sur Docker
Installez Python (pour Windows)
Utilisez mecab-ipadic-neologd de Python
[Python] Lecture du code source Django Vue à partir de zéro ①
Installez le dernier Python de pyenv installé par homebrew
Aplatir à l'aide du rendement Python de
Appeler CPLEX depuis Python (DO cplex)
Publier de Python vers Slack
Comment installer Python [Windows]
Installer watchdog sur Windows + Python 3.3