Dépannage

Cette page contient des conseils sur les erreurs et les problèmes couramment rencontrés lors du développement d’applications Django.

Problèmes d’exécution de django-admin

« command not found: django-admin »

django-admin should be on your system path if you installed Django via pip. If it’s not on your path, you can find it in site-packages/django/bin, where site-packages is a directory within your Python installation. Consider symlinking to django-admin from some place on your path, such as /usr/local/bin.

Si django-admin ne fonctionne pas mais que django-admin.py fonctionne, c’est que vous utilisez probablement une version de Django qui ne correspond pas à cette version de la documentation. django-admin est apparu dans Django 1.7.

Autorisations de macOS

Si vous utilisez macOS, il est possible que le message « permission denied » (permission refusée) apparaisse lorsque vous essayez d’exécuter django-admin. C’est parce que, sur les systèmes Unix comme macOS, un fichier doit être marqué comme « exécutable » avant de pouvoir être exécuté comme un programme. Pour ce faire, ouvrez Terminal.app et placez-vous (en utilisant la commande cd) dans le répertoire où django-admin est installé, puis exécutez la commande sudo chmod + x django-admin.

Divers

J’obtiens une erreur UnicodeDecodeError. Qu’est-ce que je fais de faux ?

Cette classe d’erreurs se produit lorsqu’une chaîne d’octets contenant des séquences non ASCII est transformée en une chaîne Unicode et que le codage indiqué n’est pas correct. Le résultat ressemble généralement à ceci :

UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)

La résolution dépend beaucoup du contexte, mais voici deux pièges courants qui aboutissent à cette erreur :

  • La locale de votre système est peut-être une locale ASCII par défaut, comme la locale « C » sur les systèmes de type Unix (se vérifie avec la commande locale). Si c’est le cas, référez-vous à la documentation de votre système pour apprendre comment vous pouvez changer cela et utiliser une locale UTF-8.

Ressources connexes :

Back to Top