2012-09-03 30 views
5

在我django項目,命令./manage.py [command]導致此錯誤消息:錯誤的Django運行時「沒有這樣的文件或目錄」 ./manage.py

: No such file or directory 

命令python manage.py [command]效果很好。我嘗試了syncdbrunserver。 我試過chmod a+x manage.py,但問題依然存在。

我manage.py:

#!/usr/bin/env python 
import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

我使用Django 1.4.1在virtualenv。 我該如何解決這個問題以便使用manage.py [command]

+0

你確定你在正確的目錄嗎? –

+0

當輸入終端時,'/ usr/bin/env python'會給你什麼? –

+0

我確定,@Snakes。 'python manage.py [command]'不會在錯誤的目錄中工作;-) – msampaio

回答

2

#! hash-bang行不指向你的virtualenv python;替換第一行:

#!/path/to/virtualenv/bin/python 
2

在我的Django項目,命令./manage.py [命令]結果 此錯誤消息:

:沒有這樣的文件或目錄

命令python manage.py [命令]效果不錯

如果指定解釋器使其工作,那麼它是第一行m UST是錯誤的:

#!/usr/bin/env python 

嘗試:

#!/usr/bin/python 

(或其它地方的解釋是。找到它:which python)。

9

可能,原因是因爲您的行結尾在manage.py文件中是\ n而不是\ r \ n。結果#!散列爆炸被誤解。

在我使用基於Windows的文本編輯器進行Linux連接時,會發生這種情況。

+4

在Unix上,使用「dos2unix」來解決這個問題。 – Bryce

+0

這工作。但背後的原因是什麼? – in3xes

+0

@in3xes,在Linux環境中您需要使用Linux約定。 – Octopus

0

就我而言,我錯誤地更改了我的manage.py中的sys.path

相關問題