Archivo de script de Shell: pasar varios parámetros al intérprete

Archivo de script de Shell: pasar varios parámetros al intérprete

Tengo un script de Python que ejecuto y que debe ejecutarse en un entorno especial, por lo que ejecutaría el programa así desde mi directorio de trabajo ( ~/project/src):

python manage.py shell

Esto abre un shell interactivo para que pueda comenzar a escribir mis propios comandos.

Tengo otro conjunto de actividades administrativas que me gustaría alojar en otro directorio ( ~/project/admin). Eladministrar.pyEs realmente complicado ejecutarlo desde el directorio de trabajo. Entonces, para que todo esto funcione, hice un script que comienza así:

#!/usr/bin/python ../src/manage.py shell

Hay un par de problemas con esto. La primera es que no funciona:

/usr/bin/python: can't open file '"/../src/manage.py" shell': [Errno 2] No such file or directory
  • ¿Cómo se especifican múltiples parámetros para el intérprete?
  • ¿Cómo cambio el directorio de trabajo?

Respuesta1

Sólo puede especificar un argumento para el intérprete. Tampoco creo que puedas usar directorios relativos.

Le sugeriría que incluya lo que necesita hacer en un script de Shell o en un script de Python que use Popen() para llamarlo tal vez.

Respuesta2

Suponiendo que estoy en lo cierto al suponer que estás en un entorno Django...

Eche un vistazo al artículo de James Bennet sobreGuiones independientes de Django. Mire la sección sobre "Usar setup_environ()" que menciona que así es "exactamente cómo el propio script Manage.py de Django maneja la configuración".

Hay unapregunta similaren stackoverflow que probablemente también te ayudará.

información relacionada