У меня есть скрипт 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, который, вероятно, также вам поможет.