2011-08-24 6 views
2

Pourquoi est-ce que je dois exécuter python manage.py somecommand et d'autres simplement exécuter manage.py somecommand? Je suis sur OSX 10.6. Est-ce parce qu'il existe un moyen prédéfini d'activer automatiquement les fichiers .py en tant que scripts Python, et j'ai désactivé la fonctionnalité, ou est-ce quelque chose que vous avez explicitement activé?Django manage.py question

Répondre

6

Si vous utilisez une version récente de Django, le fichier manage.py doit être un fichier "exécutable" par défaut. Veuillez noter que vous ne pouvez pas simplement taper manage.py somecommand dans le terminal car manage.py ne se trouve pas sur le PATH, vous devrez taper ./ avant de l'exécuter depuis le répertoire courant, c'est-à-dire ./manage.py somecommand. Si cela ne fonctionne pas, assurez-vous que le fichier manage.py comporte: #!/usr/bin/env python comme première ligne. Et assurez-vous qu'il est exécutable: chmod +x manage.py

+0

Juste pour clarifier, lorsque vous installez Django via pip et do _ "django-admin.py startproject crêpes" _ le _'manage.py'_ dans le _'pancakes/'_ le répertoire ne sera pas exécutable. C'est un [bug] (http://git.io/o9uHPQ) avec ** pip **, pas Django. – Matt

1

Il y a deux choses que vous devriez regarder:

Tout d'abord, le script manage.py réglé pour être exécutable? Sinon, essayez

chmod u+x manage.py 

Deuxièmement, manage.py a une ligne hashbang valide? Sinon, vous pouvez essayer d'en ajouter une qui pointe vers l'interpréteur Python correct pour votre système.

1

Sur le mac, la commande manage.py doit être exécutable pour simplement l'exécuter sans la commande python. Vous pouvez le faire avec:

chmod 755 manage.py 

Si vous êtes dans le même répertoire que manage.py, pour l'exécuter, tapez:

./manage.py somecommand 

Sinon, vous voulez indiquer le chemin:

/path/to/my/project/manage.py somecommand 
Questions connexes