Como instalar o Python no CentOS sem privilégios de root?

1

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?

    
por Ch'en Meng 30.10.2015 / 08:56

2 respostas

4

Você pode executar ferramentas do Python + a partir do seu diretório pessoal.
Vá para link para obter o Anaconda, que tem todos esses pacotes listados aqui: link incluindo libFFI, openssl e zlib.

Depois de instalar, reinicie seu terminal e wallah. (o $ PATH é alterado para você e você sozinho, para que o software do seu sistema não seja afetado e não seja necessário enviar e-mails para o administrador.)

Se você precisar de outros pacotes que você não listou aqui, você pode usar conda, pip ou setup.py para obter mais.

Vá em frente e seja incrível.

    
por 30.10.2015 / 09:45
0

Você tem acesso ao / etc / sudoers ou pode dizer ao seu administrador para adicionar isso a você? Você pode querer adicionar a este arquivo %código% Isso fará com que você não precise de sudo para acessar um arquivo.

    
por 30.10.2015 / 09:17