Em servidores compartilhados normalmente não é possível ter a versão do Python ou mesmo do Django de acordo com as necessidades do projeto. Porém, tendo um acesso SSH, é possível instalar, no diretório home, a versão requerida para rodar o projeto.
Como exemplo, será demonstrado como instalar uma versão do Python e do Django diferente da oferecida pelo serviço de hospedagem compartilhada do Dreamhost. No momento da escrita do post as versões do Python e do Django oferecidas são, respectivamente, 2.5.2 e 1.2.1. Serão instaladas as versões atuais que são 2.7.2 para o Python e 1.3.1 para o Django.
Além disso, será configurado o pip, virtualenv e virtualenvwrapper para facilitar manter diversos projetos e criar ambientes virtuais para atender as necessidades de cada projeto.
Antes de iniciar tenha certeza que seu usuário tenha acesso SSH. É desejável ter algum conhecimento sobre Linux para facilitar o entendimento das etapas descritas.
Configuração inicial do ambiente
Sua conta deve estar configurada como descrito:
Primeiro, crie os diretórios necessários:
cd ~
# Criação dos diretórios raiz (e log/setup)
mkdir -pv soft run www log log/setup backup data
# Criação dos subdiretórios dentro de run (nosso FHS)
for subdir in bin etc include lib man share
do
mkdir -pv run/${subdir}
done
# link simbólicos para manter os manuais em um local comum
ln -sv ../man run/share/man
# link simbólico dentro de log para os logs do apache
ln -sv ../logs log/vhostsEm seguida, edite o arquivo ~/.bashrc para configurar o ambiente, adicione as seguintes linhas:
# Variável para facilitar as instalações export RUN=$HOME/run # Adiciona o run/bin ao PATH do sistema PATH=$RUN/bin:$PATH # Define os caminhos para bibliotecas export LD_LIBRARY_PATH=$RUN/lib:$LD_LIBRARY_PATH export LD_RUN_PATH=$RUN/lib:$LD_RUN_PATH
Após editar o .bashrc execute o comando abaixo para assegurar ele seja carregado na sessão atual.
. ~/.bashrc
Para maiores informações e outras configurações visite Unix account setup. Para instalar o Python, somente as configurações descritas são suficientes.
Instalação do Python 2.7.2
# Diretório para baixar e compilar o Python cd ~/soft # Download do Python 2.7.2 wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz # Extrai o conteúdo do pacote tar -zxvf Python-2.7.2.tgz # Acessa o diretório com o conteúdo extraido cd Python-2.7.2 # Configura a instalação, repare no prefixo informado ./configure --prefix=$RUN # Compilação do Python make # Instalação do Python make install # Se tudo ocorreu bem, teremos o python 2.7.2 instalado python --version
Instalação do setuptools e do pip
# Diretório para baixar e compilar o Python cd ~/soft # Download do setuptools para o Python 2.7.x wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg # Instalação do setuptools, repare no prefixo informado sh setuptools-0.6c11-py2.7.egg --prefix=$RUN
easy_install pip
Agora que tem o pip instalado, será mais fácil de instalar os outros pacotes.
Instalação do virtualenv e virtualenvwrapper
Para instalar o virtualenv e virtualenvwrapper, basta executar o seguinte comando:
pip install virtualenvwrapper
Como o virtualenv é uma dependência do virtualenvwrapper, ele será automaticamente instalado, pois o pip se encarrega de resolver as dependencias dos pacotes que serão instalados.
Para configurar o virtualenvwrapper, adicione as seguintes linhas no ~/.bashrc:
export WORKON_HOME=~/.virtualenvs source virtualenvwrapper.sh
Essa configuração informa que os ambientes virtuais serão instalados no diretório ~/.virtualenvs.
Para que esse configuração tenha efeito imediado execute o comando:
. ~/.bashrc
Caso o comando anterior não seja executado, somente na próxima vez que iniciar uma sessão SSH, as configurações entrarão em vigor.
Instalação do Django
Finalmente, para instalação do Django, já que temos o pip instalado, basta executar o comando:
pip install django
Com isso teremos o Django disponível no sistema. Eu tenho a preferência de instalar o Django sempre que criar um virtualenv, pois dessa forma cada projeto pode permanescer com sua versão requerida do Django.
Maiores informações
Para maiores informações consulte as referências:
Não deveria ter dado export PATH no ~/.bashrc e dado “source ~/.bashrc” ?
De qualquer forma o make install não funcionou:
/usr/bin/install -c python /bin/python2.7
/usr/bin/install: cannot create regular file `/bin/python2.7′: Permission denied
make: *** [altbininstall] Error 1
Poderia checar isso ?
Valeu
Comecei do zero com “export PATH” e “source ~/.bashrc” e agora o “make install” funcionou.
Obrigado pela observação, vou atualizar o post.