1

У меня есть скрипт Python, который я запускаю, который должен выполняться в специальной среде, поэтому я бы запустил программу так из моего рабочего каталога (~/project/src):

python manage.py shell

Это открывает интерактивную оболочку для меня, чтобы начать вводить свои собственные команды.

У меня есть другой набор административных действий, которые я хотел бы разместить в другом каталоге (~/project/admin). Manage.py действительно требователен к запуску из рабочего каталога. Итак, чтобы все это работало, я создал скрипт, который начинается примерно так:

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

Есть пара проблем с этим. Во-первых, это не работает:

/usr/bin/python: can't open file '"/../src/manage.py" shell': [Errno 2] No such file or directory
  • Как указать несколько параметров для интерпретатора?
  • Как мне изменить рабочий каталог?

2 ответа2

2

Вы можете указать только один аргумент для интерпретатора. Я не думаю, что вы также можете использовать относительные каталоги в нем.

Я бы посоветовал вам обернуть то, что вам нужно сделать, в скрипт оболочки или скрипт Python, который использует Popen() для его вызова, возможно.

1

Предполагая, что я прав в своем предположении, что вы находитесь в среде Django ...

Взгляните на статью Джеймса Беннета об автономных сценариях Django. Посмотрите на раздел "Использование setup_environ()", в котором упоминается, что это "именно так, как собственный скрипт manage.py в Django обрабатывает настройки".

Есть похожий вопрос по stackoverflow, который, вероятно, поможет вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .