Troubleshooting
This page contains some advice about errors and problems commonly encountered during the development of Django applications.
Problems running django-admin
“command not found: django-admin”
django-admin should be on your system path if you
installed Django via python setup.py
. 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
.
If django-admin
doesn’t work but django-admin.py
does, you’re probably
using a version of Django that doesn’t match the version of this documentation.
django-admin
is new in Django 1.7.
macOS permissions
If you’re using macOS, you may see the message “permission denied” when
you try to run django-admin
. This is because, on Unix-based systems like
macOS, a file must be marked as “executable” before it can be run as a program.
To do this, open Terminal.app and navigate (using the cd
command) to the
directory where django-admin is installed, then
run the command sudo chmod +x django-admin
.
Miscellaneous
I’m getting a UnicodeDecodeError
. What am I doing wrong?
This class of errors happen when a bytestring containing non-ASCII sequences is transformed into a Unicode string and the specified encoding is incorrect. The output generally looks like this:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
The resolution mostly depends on the context, however here are two common pitfalls producing this error:
- Your system locale may be a default ASCII locale, like the “C” locale on
UNIX-like systems (can be checked by the
locale
command). If it’s the case, please refer to your system documentation to learn how you can change this to a UTF-8 locale.
Related resources: