Eu tenho um script Python que executo e que precisa ser executado em um ambiente especial, então eu executaria o programa assim no meu diretório de trabalho ( ~/project/src
):
python manage.py shell
Isso abre um shell interativo para eu começar a digitar meus próprios comandos.
Tenho outro conjunto de atividades administrativas que gostaria de hospedar em outro diretório ( ~/project/admin
). Ogerenciar.pyé muito meticuloso ao executar a partir do diretório de trabalho. Então, para fazer tudo funcionar, fiz um script que começa assim:
#!/usr/bin/python ../src/manage.py shell
Existem alguns problemas com isso. A primeira é que não funciona:
/usr/bin/python: can't open file '"/../src/manage.py" shell': [Errno 2] No such file or directory
- Como você especifica vários parâmetros para o intérprete?
- Como altero o diretório de trabalho?
Responder1
Você só pode especificar um argumento para o intérprete. Eu também não acho que você possa usar diretórios relativos.
Eu sugeriria que você agrupasse o que precisa fazer em um script de shell ou em um script Python que use Popen() para chamá-lo, talvez.
Responder2
Supondo que estou correto em meu palpite de que você está em um ambiente Django ...
Dê uma olhada no artigo de James Bennet sobreScripts Django autônomos. Veja a seção sobre "Usar setup_environ()" que menciona que é "exatamente como o script manager.py do próprio Django lida com as configurações".
Há umpergunta semelhanteno stackoverflow, que provavelmente também irá ajudá-lo.