Pergunta

Eu extraí, configurado e make usado para o pacote de instalação no meu servidor.

No entanto, eu não poderia usar make install . Eu recebo o erro

[~/wepapps/python/Python-2.6.1]# make install
/usr/bin/install -c python /usr/local/bin/python2.6
/usr/bin/install: cannot create regular file `/usr/local/bin/python2.6': Permission denied
make: *** [altbininstall] Error 1

Eu corro a pasta com

chmod +x Python-2.6.1

Eu ainda obter o mesmo erro.

Como posso executar make install sem acesso sudo?

Foi útil?

Solução

Como posso instalar para um caminho sob o meu diretório home?

mkdir /home/masi/.local

cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install

Em seguida, execute usando:

/home/masi/.local/bin/python

Da mesma forma, se você tiver scripts (por exemplo, CGI.) Que exigem a sua própria versão do usuário de Python que você tem que dizer-lhes explicitamente:

#!/home/masi/.local/bin/python

em vez de usar o padrão do sistema Python que “#! / Usr / bin / env python” vai escolher.

Você pode alterar a configuração de PATH para fazer apenas digitando “python” a partir do console de execução que versão, mas isso não vai ajudar em aplicações web que está sendo executado sob um usuário diferente.

Se você compilar algo que links para Python (eg. Mod_wsgi) você tem que dizer a ele onde encontrar o seu Python ou ele vai usar o sistema em vez. Isso é muitas vezes feito algo como:

./configure --prefix=/home/masi/.local --with-python=/home/masi/.local

Para outras extensões baseadas em setup.py como MySQLdb você simplesmente tem que executar o script setup.py com a versão correta do Python:

/home/masi/.local/bin/python setup.py install

Outras dicas

Você não pode; não /usr, de qualquer maneira. Somente os superusuários podem escrever para os diretórios. Tente instalar Python para um caminho no seu home vez.

Estendendo resposta bobince, não é um problema se você não tiver o pacote de desenvolvimento readline instalado em seu sistema, e você não tem acesso root.

Quando Python é compilado sem readline, as teclas de seta não vai funcionar no interpretador. No entanto, você pode instalar o pacote autônomo readline da seguinte forma: Adicionando Readline Funcionalidade sem recompilar Python

Por outro lado, se você preferir python de compilação usando uma instalação local do readline, aqui está como.

Antes de fazer como bobince estava dizendo, compilar e instalar o readline. Estas são as etapas para fazer isso:

Em seguida, adicione esta linha ao seu roteiro .bash_profile:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib

Por último, mas não menos importante, execute o seguinte comando

export LDFLAGS="-L$HOME/.local"

Espero que isso ajude alguém!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top