No module named django but it is installed
Asked Answered
E

18

52

I have two versions of python 2.7 and 3.4 and installed django through pip. it shows in ubuntu terminal:

$ pip freeze
Django==1.6.11
$ pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
$ python
Python 2.7.9 (default, Feb  3 2016, 02:50:32) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django
>>> import sys
>>> sys.path
['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']
>>> 

Any idea??

Eluvium answered 3/2, 2016 at 18:7 Comment(2)
Show output of import sys; print(sys.path)Condolence
@soon >>> import sys >>> sys.path ['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages'] >>>Eluvium
C
66

Probably, pip installs packages into dist-packages directory, which is not included into PYTHONPATH environment variable. You have a couple of solutions:

  1. Create and configure virtualenv for your project, before using pip. This is the most Pythonic way
  2. Try to install Django using built-in pip module:

    python -m pip install django
    

    This command should install packages into site-packages directory.

  3. You may also add dist-packages to your PYTHONPATH. This question should help you: How to globally modify the default PYTHONPATH (sys.path)?
Condolence answered 3/2, 2016 at 18:42 Comment(3)
This solved my problem with "No Module named django.core". Thanks!Hispanic
Thanks! #1 didn't work (hence why I came to this question) and #2 fixed it.Ockham
Thank you both for asking and answering the question!! I was going crazy with this same issue.Detruncate
P
10

This error shows that Django is not installed. Installing Django should solve the problem.

In my case, Django was there in my virtualenv but while using gunicorn I was getting this error then later I realized gunicorn was dealing with my globally install python environment not my virtual environment installing Django on my global python env simply solved my issue.

pip install django
Pennoncel answered 3/6, 2020 at 12:26 Comment(0)
S
8

I got this error when using

python manage.py runserver #python version 3 was being used

Solved the problem by using:

python2 manage.py runserver #python version 2
Substratosphere answered 1/7, 2017 at 0:43 Comment(1)
Note, that starting with django 2.0 you cannot use Python2: docs.djangoproject.com/en/1.11/faq/install/…Condolence
B
8

I had the similar error for other modules which are already installed, executing same command as superuser:

sudo pip3 install -r requirements.txt

solved my issue.

Basir answered 10/9, 2020 at 6:59 Comment(1)
This solved it for me.Thanks!Corinecorinna
P
4

You need to close the other active virtual environment in your machine if you're using virtualenv, and make sure django installed. Go to python3 interpreter and run this:

>>>from django import get_version
>>>get_version()

make sure it show you this '2.1.4'

Pythia answered 27/12, 2018 at 16:41 Comment(0)
M
4

python3 manage.py migrate solved my problem I was getting this error while running: python manage.py migrate I changed to python3 ...

Motherofpearl answered 28/7, 2020 at 10:39 Comment(1)
I too was using python2 when I thought I was using 3. python3 -m pip install django fixed it.Freighter
S
3

For Mac users; If you've previously downloaded and installed python3, just running python via the terminal shell defaults to using the pre-installed python v2, which will not recognise your installation of django (unless you install it via the python2 module) and you'll probably get an error when you check the version:

$ python

>>> from django import get_version
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django

Try starting python using:

$ python3

Then try:

>>> from django import get_version
>>> get_version()

You should get the output:

'2.0.3'
Signification answered 7/3, 2018 at 21:4 Comment(0)
C
2

I had given the dependency in requirements.txt as Django==2.0.7. So after activating the virtual environment, if you are receiving the message, try installing the requirements:

pip install -r requirements.txt
Cetane answered 18/7, 2018 at 7:15 Comment(0)
B
2

Try updating the Django.

I was getting the same issue because I had an older version of Django installed. I installed the latest version of Django instead and it fixed my issue.

Bleat answered 10/9, 2020 at 12:38 Comment(0)
T
1

I also faced the same problem. i was using python 3.7 and installed django 2.2. So i degraded my python to 3.6 and installed django 2.2, and without having a virtualenv.

Tatiana answered 12/4, 2019 at 17:50 Comment(1)
it is something to do with version... but still you dont have to downgrade it. i am running python3.7 with django 2.2.2 and inside a virtualenv.Zizith
H
1

I got the same issue today. doing pip3 install django or pip3 install -r requirements.txt solved it.

Horacehoracio answered 3/10, 2019 at 13:31 Comment(0)
P
1

make sure you created your app properly and define it in settings.py file.

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

 ....

'app_name.apps.AppNameConfig',
]

sometimes, not defining your app name in settings.py or unwanted typo causes the same type of error.

Provitamin answered 20/11, 2023 at 5:0 Comment(0)
I
0

I faced same issue with you when try to setup Apache work with Django. Issue solve after add Pythonpath to Apache2.conf as bellow:

WSGIPythonPath/opt/djangoprojects/myproject:opt/anaconda3/lib/python3.6/site-packages

I installed Python3 before.

Infiltration answered 10/3, 2019 at 1:36 Comment(0)
D
0

This error shows you didn't install Django. Installing Django should solve the problem.

Once you do, you can just check the path of "django" using:

>>> sys.path
Dissever answered 7/7, 2019 at 20:22 Comment(0)
W
0

For MacOs,I was getting the same issue while using import django.I deactivated conda and again activated django virtual environment by conda.Then made sure the python version is correct,in my case it was python 3.8.5.Then navigate to the project's directory and run the required python script. My Django version is 3.1.5

Wiggle answered 7/1, 2021 at 18:43 Comment(0)
M
0

Unistall/Install

Confirm that you're running from virtualenv of you have installed the app to venv.

If you made sure that it has been installed and still shows mdule not found, uninstall and install again.

Mccabe answered 22/1, 2021 at 22:3 Comment(0)
W
0

Maybe your env not running after you shut down your computer. Just need to pipenv shell to launch again the virtual environment.

Then u can see this one the terminal

Launching subshell in virtual environment...
 . /Users/.../.local/share/virtualenvs/little-lemon-O3-M0emD/bin/activate

and, type python3 manage.py runserver to start your django server and work normally.

Wycoff answered 27/1, 2023 at 10:4 Comment(0)
M
0

Run this command:

sudo pip install Django
Manama answered 28/5, 2024 at 13:24 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.