简体   繁体   中英

No module named django but it is installed

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??

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)?

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 used

Solved the problem by using:

python2 manage.py runserver #python version 2

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'

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 django

Try starting python using:

$ python3

Then 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.

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.

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-packages

I 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

python3 manage.py migrate解决了我的问题 我在运行时遇到了这个错误: python manage.py migrate我改成了python3 ...

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM