我想知道以下结构的使用是否有任何区别? python manage.py [something] 要么 ./manage.py [某事]
对于像runserver这样的一个语句可能有preffered命令,而对于syncdb也可以有另一个语句,例如?
答案 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)
除了两件事之外,没有太大的区别:
#!/usr/bin/python
。