No module named django but it is installed
Sophia Terry
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??
215 Answers
Probably, pip installs packages into dist-packages directory, which is not included into PYTHONPATH environment variable. You have a couple of solutions:
- Create and configure
virtualenvfor your project, before usingpip. This is the most Pythonic way Try to install
Djangousing built-in pip module:python -m pip install djangoThis command should install packages into
site-packagesdirectory.- You may also add
dist-packagesto yourPYTHONPATH. This question should help you: How to globally modify the default PYTHONPATH (sys.path)?
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 I got this error when using
python manage.py runserver #python version 3 was being usedSolved the problem by using:
python2 manage.py runserver #python version 2 1 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.
1You 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'
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 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 djangoTry starting python using:
$ python3Then try:
>>> from django import get_version
>>> get_version()You should get the output:
'2.0.3' I got the same issue today. doing pip3 install django or pip3 install -r requirements.txt solved it.
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.
1python3 manage.py migrate solved my problem
I was getting this error while running:python manage.py migrateI changed to python3 ...
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.
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-packagesI installed Python3 before.
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 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
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.