Tecido é bom para sites implantar e virtualenv com virtualenvwrapper são uma obrigação para as dependências do punho em projetos de python. Ao instalar o virtualenvwrapper, você adiciona algumas linhas ao seu .bashrc
arquivo para que ele faça sua mágica, algo como:
if [ -f /usr/local/bin/virtualenvwrapper.sh ]
then
source /usr/local/bin/virtualenvwrapper.sh
fi
O problema aparece quando você tenta usar os comandos virtualenvwrappers de dentro de uma tarefa de malha, por exemplo:
def deploy():
code_dir = '/srv/yourwebsite'
with cd(code_dir):
with prefix('workon niceproject'):
run("git pull")
run("web/manage.py syncdb")
run("web/manage.py migrate niceproject_api")
Você pode obter um erro como
/bin/bash: workon: command not found
Isso porque algumas distros, como o Ubuntu, não executam o código se não for uma sessão interativa.bashrc
, portanto, os comandos virtualenvwrapper não estão disponíveis. Para corrigir isso, mova o código de carregamento virtualenvwrapper de para.bashrc
.bash_profile
e ele funcionará perfeitamente.