Por alguns motivos, eu preciso instalar o Python no CentOS sem privilégios de root. Como sem root, não é possível usar yum
para instalar pacotes, então eu tentei
./configure --prefix=$HOME/tools/python
make
make install
e funcionou. No entanto, quando eu estava tentando instalar setuptools para ele, por
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | python - --user --insecure
Python reclamou que
urllib2.URLError: <urlopen error unknown url type: https>
Parece que o Python não foi bem compilado com o openssl lib. Então, eu baixei o setuptools do seu site, não arquivei e executei
python setup.py install
e obtivemos
RuntimeError: Compression requires the (missing) zlib module
Portanto, recompilar e reinstalar o Python é necessário. Desta vez, antes de configurar o Python, instalei o zlib, o openssl e o libffi manualmente, adicionando --prefix="$HOME/tools/foo"
, pois não tenho privilégios para escrever em /usr/foo/bar
.
Depois disso, tentei configurar o Python com sinalizadores, como --with-zlib=$HOME/tools/zlib
. Infelizmente, novamente, o Python mostrou uma linha na tela, que essas bandeiras são desconhecidas. Então eu tentei modificar /Modules/Setup.dist
, com a expectativa de que eu poderia especificar o caminho para essas bibliotecas, por uncomment as seguintes linhas:
#SSL=/home/foo/tools/openssl-1.0.0s
#_ssl _ssl.c \
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
# -L$(SSL)/lib -lssl -lcrypto
......
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
Desta vez, as coisas ficaram ainda piores quando a compilação parou
./Modules/zlibmodule.c:8:18: error: zlib.h: No such file or directory
Eu procurei em toda a web e não encontrei nada. Por isso, venho aqui e levanto a questão: como instalar o Python com zlib, openssl e libffi etc., em um CentOS, sem privilégios de root?