使用时有什么区别:python manage.py [something]或./manage.py [something]

时间:2014-09-30 14:56:10

标签: python django

我想知道以下结构的使用是否有任何区别?  python manage.py [something] 要么  ./manage.py [某事]

对于像runserver这样的一个语句可能有preffered命令,而对于syncdb也可以有另一个语句,例如?

2 个答案:

答案 0 :(得分:6)

通过以下方式调用Python脚本时:

./script.py 

..它使用Python解释器defined in the script head。这应该指向环境中定义的Python解释器,尽管有时(很少)如果脚本作者没有放入合适的头部,情况可能并非如此。

通过以下方式调用Python脚本时:

python script.py

...它使用来自PATH环境变量的Python解释器,通常指向the currently activated virtualenv。如果您运行which python命令,这就是您所获得的。

在大多数情况下,Python解释器应该是相同的。

你也可以这样做:

/usr/bin/python script.py

...强制使用系统范围的Python安装。

编辑:澄清剧本头部。

答案 1 :(得分:2)

除了两件事之外,没有太大的区别:

  1. 您必须将执行权限授予您的文件manage.py(chmod + x manage.py)
  2. 该文件必须包含例如顶部的#!/usr/bin/python