我有一个需要在特殊环境下执行的 Python 脚本,因此我将从我的工作目录 ( ~/project/src
) 运行该程序:
python manage.py shell
这将打开一个交互式 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
您只能为解释器指定一个参数。我认为您也不能在其中使用相对目录。
我建议您将您需要执行的操作包装在 shell 脚本或使用 Popen() 调用它的 Python 脚本中。
答案2
假设我猜测你处于 Django 环境中是正确的......
看看詹姆斯·班尼特的文章独立 Django 脚本。查看有关“使用 setup_environ()”的部分,其中提到这“正是 Django 自己的 manage.py 脚本处理设置的方式”。
有一个类似问题在 stackoverflow 上这可能也会对你有帮助。