2012-09-03 8 views
5

W moim projekcie django komenda ./manage.py [command] wyniki w tym komunikatem o błędzie:błędzie „Nie ma takiego pliku lub katalogu”, gdy uruchomiony Django ./manage.py

: No such file or directory 

Komenda python manage.py [command] działa dobrze. Próbowałem z syncdb i runserver. Próbowałem chmod a+x manage.py, ale problem nadal występuje.

Moja 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) 

Używam Django 1.4.1 w virtualenv. Jak mogę to naprawić, aby użyć manage.py [command]?

+0

czy jesteś pewien, że jesteś we właściwym katalogu? –

+0

Co daje '/ usr/bin/env python' po wejściu do terminalu? –

+0

Jestem pewien, @Snakes. 'python manage.py [command]' nie działałby w niewłaściwym katalogu ;-) – msampaio

Odpowiedz

2

Linia hash-bang #! nie wskazuje na pytającego virtualenv; zastąpić pierwszy wiersz:

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

W moim projekcie django Z ./manage.py polecenie [polecenie] powoduje ten komunikat o błędzie:

: Nie ma takiego pliku lub katalogu

Polecenie python manage.py [polecenie] działa dobrze

Jeśli określenie interpretera powoduje jego działanie, to jest to pierwsza linia, którą m Ust być źle:

#!/usr/bin/env python 

Spróbuj:

#!/usr/bin/python 

(lub gdziekolwiek tłumacza. Znajdź to za pomocą: which python).

9

Prawdopodobnie przyczyną jest to, że końcówki linii w pliku manage.py to \ n zamiast \ r \ n. W rezultacie #! haszysz został źle zinterpretowany.

Dzieje się tak, gdy używam edytora tekstowego opartego na systemie Windows dla mojego połączenia z linuxem.

+4

W systemie Unix, użyj "dos2unix", aby to naprawić. – Bryce

+0

To działa. Ale jaki jest tego powód? – in3xes

+0

@ in3xes, w środowisku Linux musisz używać konwencji Linux. – Octopus

0

W moim przypadku błędnie zmieniłem sys.path w moim manage.py.

Powiązane problemy