2011-08-24 80 views
2

爲什麼我必須運行python manage.py somecommand而其他人只需運行manage.py somecommand?我在OSX 10.6上。這是因爲有一種預設的方式可以使.py文件自動作爲Python腳本運行,並且我已經以某種方式禁用了該功能,或者是您明確啓用的某些功能?Django manage.py問題

回答

6

如果您使用的是最新版本的Django,則默認情況下,manage.py文件應該是「可執行文件」文件。

請注意,由於manage.py不在PATH中,因此您不能在終端中輸入manage.py somecommand,您必須在其之前輸入./,才能從當前目錄(即./manage.py somecommand)運行它。

如果這不起作用,請確保manage.py文件的第一行有: #!/usr/bin/env python 作爲其第一行。並確保它是可執行的:chmod +x manage.py

+0

只是爲了澄清,當您通過pip安裝Django並執行_「django-admin.py startproject pancakes」_ __manage.py__ __pancakes /'_目錄將不可執行。這是一個[bug](http://git.io/o9uHPQ),使用** pip **,而不是Django。 – Matt

1

有兩件事情你應該看看:

首先,是manage.py腳本設置爲可執行?如果不是,請嘗試

chmod u+x manage.py 

其次,manage.py是否有有效的hashbang行?如果沒有,你可以嘗試添加一個指向你的系統的正確的python解釋器。

1

在mac上,manage.py命令必須是可執行的才能在不使用python命令的情況下運行它。

chmod 755 manage.py 

如果你在同一個目錄manage.py,運行它,你類型:

./manage.py somecommand 

否則要指定路徑:

/path/to/my/project/manage.py somecommand 
你可以做到這一點