Файл скрипта оболочки — передача нескольких параметров интерпретатору

Файл скрипта оболочки — передача нескольких параметров интерпретатору

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

python manage.py shell

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

У меня есть еще один набор административных действий, которые я хотел бы разместить в другом каталоге ( ~/project/admin).управлять.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
  • Как указать интерпретатору несколько параметров?
  • Как изменить рабочий каталог?

решение1

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

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

решение2

Если я прав в своих догадках и вы находитесь в среде Django...

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

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

Связанный контент