Django - “no module named django.core.management”

前端 未结 21 1651
天涯浪人
天涯浪人 2020-12-02 11:46

I get the following error when trying to run Django from the command line.

File manage.py, line 8, in 
     from django.core.management import          


        
相关标签:
21条回答
  • 2020-12-02 12:08

    Are you using a Virtual Environment with Virtual Wrapper? Are you on a Mac?

    If so try this:

    Enter the following into your command line to start up the virtual environment and then work on it

    1.)

    source virtualenvwrapper.sh
    

    or

    source /usr/local/bin/virtualenvwrapper.sh
    

    2.)

    workon [environment name]
    

    Note (from a newbie) - do not put brackets around your environment name

    0 讨论(0)
  • 2020-12-02 12:09

    In case this is helpful to others... I had this issue because my virtualenv defaulted to python2.7 and I was calling Django using Python3 while using Ubuntu.

    to check which python my virtualenv was using:

    $ which python3
    >> /usr/bin/python3
    

    created new virtualenv with python3 specified (using virtualenv wrapper https://virtualenvwrapper.readthedocs.org/en/latest/):

    $ mkvirtualenv --python=/usr/bin/python3 ENV_NAME
    

    the python path should now point to the virtualenv python:

    $ which python3
    >> /home/user/.virtualenvs/ENV_NAME/bin/python3
    
    0 讨论(0)
  • 2020-12-02 12:13

    I got the same problem trying to use the python manage.py runserver. In my case I just use sudo su. Use the terminal as a root and try it again an it works partially. So I use python manage.py migrate comand and it fix it.

    0 讨论(0)
  • 2020-12-02 12:14

    Most probably in your manage.py the first line starts with !/usr/bin/python which means you are using the system global python rather than the one in your virtual environment.

    so replace

    /usr/bin/python
    

    with

    ~/projectpath/venv/bin/python
    

    and you should be good.

    0 讨论(0)
  • 2020-12-02 12:15

    It sounds like you do not have django installed. You should check the directory produced by this command:

    python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
    

    To see if you have the django packages in there.

    If there's no django folder inside of site-packages, then you do not have django installed (at least for that version of python).

    It is possible you have more than one version of python installed and django is inside of another version. You can find out all the versions of python if you type python and then press TAB. Here are all the different python's I have.

    $python
    python            python2-config    python2.6         python2.7-config  pythonw2.5
    python-config     python2.5         python2.6-config  pythonw           pythonw2.6
    python2           python2.5-config  python2.7         pythonw2          pythonw2.7
    

    You can do the above command for each version of python and look inside the site-packages directory of each to see if any of them have django installed. For example:

    python2.5 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
    python2.6 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
    

    If you happen to find django inside of say python2.6, try your original command with

    python2.6 manage.py ...
    
    0 讨论(0)
  • 2020-12-02 12:16
    sudo pip install django --upgrade 
    

    did the trick for me.

    0 讨论(0)
提交回复
热议问题