Reputation: 639
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??
Upvotes: 53
Views: 212810
Reputation: 11
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.
Upvotes: 1
Reputation: 7460
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.
Upvotes: 0
Reputation: 3415
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.
Upvotes: 0
Reputation: 41
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
Upvotes: 0
Reputation: 31
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.
Upvotes: 2
Reputation: 101
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.
Upvotes: 8
Reputation: 139
python3 manage.py migrate
solved my problem
I was getting this error while running:
python manage.py migrate
I changed to python3 ...
Upvotes: 4
Reputation: 3128
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
Upvotes: 12
Reputation: 41
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'
Upvotes: 4
Reputation: 642
I got the same issue today. doing pip3 install django
or pip3 install -r requirements.txt
solved it.
Upvotes: 1
Reputation: 1
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
Upvotes: 0
Reputation: 153
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.
Upvotes: 1
Reputation: 836
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.
Upvotes: 0
Reputation: 4202
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
Upvotes: 2
Reputation: 377
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'
Upvotes: 4
Reputation: 5095
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
Upvotes: 8
Reputation: 33701
Probably, pip
installs packages into dist-packages
directory, which is not included into PYTHONPATH
environment variable. You have a couple of solutions:
virtualenv
for your project, before using pip
. This is the most Pythonic wayTry to install Django
using built-in pip module:
python -m pip install django
This command should install packages into site-packages
directory.
dist-packages
to your PYTHONPATH
. This question should help you: How to globally modify the default PYTHONPATH (sys.path)?Upvotes: 66