Installation à partir des sources de python, numpy, scipy sans privilèges root sur Linux

Un mémo sur la procédure d'installation de la série python2 par des gens ordinaires sans privilèges root.

Un mot résumé

Construire à partir de la source.

Pourquoi tu en as besoin

Les utilisateurs avec des privilèges root ont rarement besoin d'y penser.

Cependant, si vous n'êtes qu'une personne sans privilèges root, vous ne pouvez même pas installer un paquet qui ne nécessite qu'une seule ligne, comme pip ou easy_install (qui est en partie un mensonge: -p). En outre, dans le cas d'un environnement de machine partagée, le fait que vous ne pouvez pas mettre à niveau la version python ou ajouter et mettre à jour des packages pour votre propre convenance constitue un goulot d'étranglement.

installer

bzip2

Sans cela, vous serez blessé plus tard. référence:

# cd ~/tmp
# wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
# tar xzf bzip2-1.0.6.tar.gz
# cd bzip2-1.0.6
# make -f Makefile-libbz2_so
# make
# make install PREFIX=/home/akisato/src/downloads/bzip2-1.0.6
# export CFLAGS=-I/home/akisato/src/downloads/include
# export CPPFLAGS=$CFLAGS
# export LDFLAGS=-L/home/akisato/src/downloads/lib

corps de python

Parfois, il existe un package qui nécessite une bibliothèque de liens dynamiques comme theano, alors soyez prudent. Pour éviter ce problème, simplement activer-partagé avec configure a des effets secondaires, alors spécifiez -rpath pour l'éviter. À [^ 1].

[^ 1]: C'est probablement correct, en espérant qu'il n'a pas été écrasé par les LDFLAGS précédents.

# cd ~/tmp
# wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6rc1.tgz
# tar xzf Python-2.7.6rc1.tgz
# cd Python-2.7.6
# ./configure --prefix=/home/akisato/src/downloads/python-2.7.6rc1 --with-threads --enable-shared LDFLAGS=-Wl,-rpath,/home/akisato/src/downloards/python-2.7.6rc1/lib
# vi Makefile
CCSHARED=-fPIC
# make
# make install
# export PATH=/home/akisato/src/downloads/python-2.7.6rc1/bin:${PATH}
# export PYTHONPATH=/home/akisato/src/downloads/python-2.7.6rc1/lib/python2.7/site-packages

Il est préférable d'écrire PATH et PYTHONPATH dans ~ / .bashrc pour plus tard.

BLAS

référence: Installez numpy et scipy sur CentOS 5.5 sans utiliser yum http://yuku-tech.hatenablog.com/entry/20110325/1301048750

# cd ~/tmp
# wget http://www.netlib.org/blas/blas.tgz
# tar xzf blas.tgz
# cd BLAS
# gfortran -O3 -m64 -fPIC -c *.f
# ar r libfblas.a *.o
# ranlib libfblas.a
# rm -rf *.o
# cp libfblas.a /home/akisato/lib    #Copier dans un endroit pour quitter définitivement
# gfortran -O3 -m64 -fPIC -shared *.f -o libfblas.so
# cp libfblas.so /home/akisato/lib    #Copier dans un endroit pour quitter définitivement
# export BLAS=/home/akisato/lib/libfblas.so    #OK si vous ne pouvez le voir que lors de l'installation de scipy

LAPACK

# cd ~/tmp
# wget http://www.netlib.org/lapack/lapack.tgz
# tar xzf lapack.tgz
# cd lapack
# cp INSTALL/make.inc.gfortran make.inc
# vi make.inc
OPTS = -O2 -m64 -fPIC
NOOPT = -m64 -fPIC
# make lapacklib
# cp liblapack.a /home/akisato/lib    #Copier dans un endroit pour quitter définitivement
# export LAPACK=/home/akisato/lib/liblapack.a    #OK si vous ne pouvez le voir que lors de l'installation de scipy

numpy

Il peut être installé sans BLAS et LAPACK, mais il vaut mieux le voir s'il y en a un. Notez que le python que vous venez d'installer ne sera utilisé que si vous définissez correctement le chemin.

# which python
/home/akisato/src/downloads/python-2.7.6rc1/bin/python
# wget http://sourceforge.net/projects/numpy/files/NumPy/1.8.0/numpy-1.8.0.tar.gz/download --no-check-certificate
# tar xzf numpy-1.8.0.tar.gz
$ cd numpy-1.8.0
$ python setup.py build
$ python setup.py install

scipy

Si les variables d'environnement CFLAS, CCFLAGS et LDFLAGS sont définies, il semble que les paramètres du script de construction scipy seront écrasés, il est donc préférable de les supprimer avant la construction.

# unset CFLAGS
# unset CCFLAGS
# unset LDFLAGS
# wget http://sourceforge.net/projects/scipy/files/scipy/0.14.0/scipy-0.14.0.tar.gz/download
# tar xzvf scipy-0.14.0.tar.gz
# cd scipy-0.14.0
# python setup.py build
# python setup.py install

easy_install

Avec cela, vous pouvez facilement installer la bibliothèque python avec easy_install <nom de la bibliothèque>.

# cd ~/tmp
# wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.1.tar.gz --no-check-certificate
# tar xzf setuptools-3.4.1.tar.gz
# cd setuptools-3.4.1
# python ez_setup.py

pip

C'est plus pratique que easy_install.

# easy_install pip
# pip freeze
(OK si le package déjà installé est affiché)

Si pip ne peut pas être installé via easy_install, utilisez get-pip.py.

# wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
# python get-pip.py

Recommended Posts

Installation à partir des sources de python, numpy, scipy sans privilèges root sur Linux
Stray build Python-3.8.5 sur CentOS sans privilèges root
Installez scipy sur Linux sans connexion Internet
Utilisez Numpy, Scipy, scikit-learn sur Amazon Linux
Installez et exécutez Python3.5 + NumPy + SciPy sur Windows 10
Mise à jour de la surveillance de dmesg (/ dev / kmsg) à partir de python sous Linux
Installation de Python la plus rapide sous Windows
Installez CaboCha sans privilèges root.
[Python + heroku] De l'état sans Python à l'affichage de quelque chose avec heroku (Partie 1)
[Python + heroku] De l'état sans Python à l'affichage de quelque chose avec heroku (partie 2)
Installez Python Pillow sur Amazon Linux
Utilisez Numpy, Scipy, scikit-learn avec Heroku
Installer SciPy et matplotlib (Python)
Installation de Python, SciPy, matplotlib (Windows)
Remarques sur l'accès à dashDB à partir de python
Si l'installation de Python 3.5.0 échoue sur Mac
Présentation de l'environnement Python 3.5.2 sur Amazon Linux
python> os.path.join ('data', 'checkpoint')> 'data / checkpoint' sous linux
Appeler C / C ++ depuis Python sur Mac
Mettre à jour Mac Python de 2 à 3
Intégration de données depuis l'application Python sur Linux vers Amazon Redshift avec ODBC