2012-08-05 06:05:57 +08:00
|
|
|
===============
|
|
|
|
Troubleshooting
|
|
|
|
===============
|
|
|
|
|
|
|
|
This page contains some advice about errors and problems commonly encountered
|
|
|
|
during the development of Django applications.
|
|
|
|
|
2014-07-26 19:21:52 +08:00
|
|
|
.. _troubleshooting-django-admin:
|
2012-12-15 22:25:54 +08:00
|
|
|
|
2016-11-16 06:00:50 +08:00
|
|
|
Problems running ``django-admin``
|
|
|
|
=================================
|
2012-12-15 22:25:54 +08:00
|
|
|
|
2016-11-16 06:00:50 +08:00
|
|
|
"command not found: `django-admin`"
|
2017-03-21 06:30:32 +08:00
|
|
|
-----------------------------------
|
2012-08-05 06:05:57 +08:00
|
|
|
|
2014-07-26 19:21:52 +08:00
|
|
|
:doc:`django-admin </ref/django-admin>` should be on your system path if you
|
2019-11-02 12:08:23 +08:00
|
|
|
installed Django via ``pip``. If it's not in your path, ensure you have your
|
|
|
|
virtual environment activated and you can try running the equivalent command
|
|
|
|
``python -m django``.
|
2012-12-15 22:25:54 +08:00
|
|
|
|
2017-04-24 04:06:12 +08:00
|
|
|
macOS permissions
|
|
|
|
-----------------
|
2012-12-15 22:25:54 +08:00
|
|
|
|
2017-04-24 04:06:12 +08:00
|
|
|
If you're using macOS, you may see the message "permission denied" when
|
2014-07-26 19:21:52 +08:00
|
|
|
you try to run ``django-admin``. This is because, on Unix-based systems like
|
2017-04-24 04:06:12 +08:00
|
|
|
macOS, a file must be marked as "executable" before it can be run as a program.
|
2012-12-15 22:25:54 +08:00
|
|
|
To do this, open Terminal.app and navigate (using the ``cd`` command) to the
|
2014-07-26 19:21:52 +08:00
|
|
|
directory where :doc:`django-admin </ref/django-admin>` is installed, then
|
|
|
|
run the command ``sudo chmod +x django-admin``.
|
2014-06-23 15:28:42 +08:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
* :doc:`Unicode in Django </ref/unicode>`
|
|
|
|
* https://wiki.python.org/moin/UnicodeDecodeError
|