I'm trying to run python manage.py runserver
on a Django application I have and I get this error:
Traceback (most recent call last):
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Here is the output of pip freeze | grep -i django
to show I do in fact have Django installed:
Django==1.6.5
django-cached-authentication-middleware==0.2.0
django-cors-headers==1.1.0
django-htmlmin==0.7.0
django-static-precompiler==0.9
djangorestframework==2.3.14
Also, trying to run /usr/local/bin/python2.7 manage.py runserver
yields the same error.
Possible issues that may cause your problem:
PYTHONPATH is not well configured, to configure it you should do:
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
You forgot the line #!/usr/bin/env python
at the beginning of manage.py
If you're working on virtualenv you forgot to activate the virtual env to execute manage.py commands (You may have installed Django on your system but not on your virtualenv)
source path/to/your/virtualenv/bin/activate
or
workon env_name
You have Python 2.7 and Python 3.4 messing with the package
You're using a very old Python 2.4 and you should tell the system to use your Python 2.7 with:
alias python=python2.7
Some times reinstalling/upgrading Django fix some of those issues.
You may want to execute
python -c "import django; print(django.get_version())"
to check if Django is installed on your PC or your virtualenv if you're using one
You can find some other solutions in other similar questions: