Un mémo sur la procédure d'installation de la série python2 par des gens ordinaires sans privilèges root.
Construire à partir de la source.
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.
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
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