Django- "django.core.management라는 모듈 없음"


104

명령 줄에서 Django를 실행하려고하면 다음 오류가 발생합니다.

File manage.py, line 8, in <module>
     from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?


정확히 무엇을 실행하려고하나요, 어떤 버전의 Python, 어떤 버전의 Django 등 ...?
Jon Clements

내 로컬 호스트의 버전은 Python 2.6.6 및 1.4.3 Dyango입니다. Python 서버는 2.6.6이고 Dyango의 경우 확인 방법을 알고 있는지 확인할 수 없습니까?
Krasimir 2012

마이그레이션을 시도하는 동안 무작위로이 오류가 발생했으며 Django가 설치된 가상 환경에있었습니다. 나는 단순히 명령을 다시 실행하고 작동했습니다.
aalaap

이 같은 오류가 있습니다. django가 설치되어 있지만 dist-packages 디렉토리에 설치되어 있습니다. Dockerfile은 우분투 기본 이미지를 사용합니다. 그래서 Dockerfile을 업데이트하여 이것을 추가 ENV PYTHONPATH="$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages"했지만 여전히 django 앱을로드하지 않습니다.
alltej

답변:


55

장고가 설치되어 있지 않은 것 같습니다. 다음 명령으로 생성 된 디렉토리를 확인해야합니다.

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

거기에 django 패키지가 있는지 확인하십시오.

사이트 패키지 내부에 django 폴더가 없으면 django가 설치되어 있지 않은 것입니다 (적어도 해당 버전의 파이썬에서는).

두 개 이상의 Python 버전이 설치되어 있고 django가 다른 버전 내에있을 수 있습니다. 입력 python하고 TAB을 누르면 모든 버전의 파이썬을 찾을 수 있습니다 . 여기 내가 가진 모든 다른 파이썬이 있습니다.

$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

각 파이썬 버전에 대해 위의 명령을 수행하고 각 버전의 site-packages 디렉토리를 살펴보고 django가 설치되어 있는지 확인할 수 있습니다. 예를 들면 :

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()"

python2.6 내에서 django를 발견하면 원래 명령을 시도하십시오.

python2.6 manage.py ...

이것은 "/usr/lib/python2.6/site-packages"명령 바로 뒤에 오는 것입니다
Krasimir dec

"/usr/lib/python2.6/site-packages"폴더로 이동하여 안에 django라는 폴더가 있는지 확인합니다.
RaviU

다른 Evrything하지 장고 : D
Krasimir

안녕하세요, 수정 된 답변을 확인하십시오. 장고가 다른 버전의 파이썬에있을 수 있습니다.
RaviU

1
virtualenv를 사용하거나 가상 환경에있는 동안 django를 설치 한 경우 시스템에 전역 적으로 설치하지 않은 경우 실행하려면 가상 환경에 있어야합니다.
Ramon Suarez 2013

41
sudo pip install django --upgrade 

나를 위해 트릭을했다.


4
귀하의 답변이 저에게 도움이되었으므로 찬성 투표를했습니다. 그러나 내가 실행했을 때 sudo pip install django --upgrade새로운 오류가 발생 했기 때문에 귀하의 대답만으로는 충분하지 않았습니다 No module named psycopg2.. 그래서 나는 달렸고 sudo pip install psycopg2 --upgrade그것은 트릭을했습니다.
Dorian Dore 2015

2
나는 장고를 설치하지 않은 것으로 밝혀졌습니다 ... 전에 컴퓨터에서 사용했지만. 기묘한.
James111

시간 초과 문제가 발생하여 sudo pip install --default-timeout=100 django --upgrade모든 것이 순조롭게 진행되었습니다.
Zap

"pyenv"를 사용하는 경우 다음이 필요합니다.pip install django --upgrade --user
Inyoka

30

같은 오류가 발생하여 다음과 같이 수정했습니다.

다음 명령을 사용하여 가상 환경을 활성화해야했습니다.

source python2.7/bin/activate

22

아마도 당신의 manage.py 첫 번째 줄에서 시작 !/usr/bin/python하는 것은 가상 환경에서가 아닌 시스템 전역 파이썬을 사용하고 있음을 의미합니다.

그래서 교체

/usr/bin/python

~/projectpath/venv/bin/python

그리고 당신은 잘해야합니다.


감사. 도움이되었습니다.
Serg Smyk

내 프로젝트에는 앱의 한 부분을 호출하는 bash 스크립트가 있었고 그 bash 스크립트 python startapp에서 변경해야했고 /path/to/venv/bin/python startapp작동했습니다. 지적 해주셔서 감사합니다 !!
Gordster

13

글쎄요, 오늘 virtualenv와 django를 설치 한 후 같은 오류가 발생했습니다. 나에게는 내가 (사용 sudo는 있다고했다 sudo는 PIP 장고 설치 장고를 설치), 그리고 나는 실행하려고했다 manage.py의 runserver을 하지 않고 sudo는 . 방금 sudo를 추가했고 작동했습니다. :)


10

가상 래퍼와 함께 가상 환경을 사용하고 있습니까? Mac을 사용하십니까?

그렇다면 이것을 시도하십시오.

명령 줄에 다음을 입력하여 가상 환경을 시작한 다음 작업합니다.

1.)

source virtualenvwrapper.sh

또는

source /usr/local/bin/virtualenvwrapper.sh

2.)

workon [environment name]

참고 (초보자로부터)-환경 이름을 괄호로 묶지 마십시오.


virtualenv가 활성화되지 않았다는 것을 알아내는 데 2 ​​초 정도 걸렸지 만 이것은 내 문제였습니다 ... Google 버튼을 한 번 눌렀고 나오는 내용을 읽지 않았기 때문에 너무 좋아요.
RobotHumans 2013

7

명령을 실행하는 동안 동일한 문제가 있습니다.

python manage.py startapp <app_name>

하지만 문제는 가상 환경에서 해당 명령을 실행하고 있다는 것입니다. 먼저 가상 환경을 활성화하고 명령을 다시 실행하십시오.


1
내 프로젝트에는 앱의 한 부분을 호출하는 bash 스크립트가 있었고 그 bash 스크립트 python startapp에서 변경해야했고 /path/to/venv/bin/python startapp작동했습니다.
Gordster

5

이 문제는 django가 컴퓨터에 설치되어 있지 않을 때 발생합니다. django가 설치되어 있지 않으면 django.core.management 모듈도 설치되지 않습니다. 따라서이 모듈을 찾지 못했고 오류가 발생합니다.
이 문제를 해결하려면 pip를 사용하여 django를 설치해야합니다. 명령 줄 cmd (Windows)를 열고 다음을 입력합니다.

pip install django

이 명령은 컴퓨터에 django를 설치합니다. 설치 pip가없는 경우. pip를 설치해야합니다. Windows에 pip를 설치하는 방법


5

나는 같은 일을 경험하고 이것이 내가하는 일입니다.

먼저 내 설치

pip install -r requirements.txt

내 활동적인 환경에 있지 않습니다. 그래서 내 환경을 활성화 한 다음 다시 실행했습니다.

pip install -r requirements.txt


4

좋습니다. 이렇게됩니다.

가상 환경을 만들었고 django 모듈은 해당 환경에만 속합니다. virtualenv는 다른 모든 것에서 자신을 격리하므로이를보고 있습니다.

추가 지원을 받으려면 다음을 수행하십시오.

http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/

1. 가상 환경이 저장된 디렉토리로 전환 한 다음 django 모듈을 실행할 수 있습니다.

2. 또는 pip 또는 easy_install을 실행하여 python-> site-packages에 django를 전역으로 설치할 수 있습니다.

pip를 사용하는 명령 : pip install django

다음을 수행하십시오.

import django print (django.get_version ()) (사용하는 파이썬 버전에 따라 다릅니다. 이것은 파이썬 3+ 시리즈 용입니다)

그런 다음 다음을 실행할 수 있습니다. python manage.py runserver 및 : localhost : 8000을 입력하여 웹 브라우저에서 확인하면 django 전원 페이지가 표시됩니다.

도움이 되었기를 바랍니다.


3

이것이 다른 사람들에게 도움이되는 경우 ... 내 virtualenv가 python2.7로 기본 설정되었고 Ubuntu를 사용하는 동안 Python3을 사용하여 Django를 호출했기 때문에이 문제가 발생했습니다.

내 virtualenv가 사용중인 파이썬을 확인하려면 다음을 수행하십시오.

$ which python3
>> /usr/bin/python3

python3이 지정된 새 virtualenv를 생성했습니다 (virtualenv 래퍼 https://virtualenvwrapper.readthedocs.org/en/latest/ 사용 ) :

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

파이썬 경로는 이제 virtualenv 파이썬을 가리켜 야합니다 :

$ which python3
>> /home/user/.virtualenvs/ENV_NAME/bin/python3

2

이것은 파이썬 프로젝트의 디렉토리 구조를 변경 한 경우에도 발생합니다 (이 작업을 수행 한 다음 동작의 변경에 대해 의아해합니다). 그렇게하는 경우 / bin / activate 파일의 행을 변경해야합니다. 그래서 당신의 프로젝트가

/User/me/CodeProjects/coolApp/

활성화 파일은

/User/me/CodeProjects/coolApp/venv/bin/activate

프로젝트를 설정할 때 프로젝트를 다음으로 변경했습니다.

/User/me/CodeProjects/v1-coolApp/

또는 뭔가. 그런 다음 열어야합니다.

/User/me/CodeProjects/v1-coolApp/venv/bin/activate

그것이 말하는 줄 찾기

VIRTUAL_ENV="/User/me/CodeProjects/coolApp"
export VIRTUAL_ENV

그리고 그것을

VIRTUAL_ENV="/User/me/CodeProjects/v1-coolApp"

재 활성화하기 전에


2

제 경우에는 Ubuntu를 사용하고 있습니다. 문제는 일반 사용자로 해당 폴더에 쓸 수있는 권한이 없다는 것입니다. 간단히 sudobefore 명령을 추가하면 완벽하게 작동합니다. 제 경우에는 sudo python manage.py syncdb.


2

나는 같은 문제가 있었고 내가이 메시지를받은 이유는 내가 "manage.py runserver"를하고있는 반면 "python manage.py runserver"는 그것을 고쳤 기 때문이다.


2
Python 3을 사용하는 경우 python3 manage.py runserver. 그렇지 않으면 가져 오기 오류가 계속 발생합니다.
rbaleksandar

2

나는 같은 문제가 있었고 다음과 같이 잘 작동했습니다. 프로젝트의 기본 폴더를 유형보다 탐색해야합니다.

source bin/activate 

1

root와 동일한 problem.run 명령 'python manage.py migrate'가 있습니다. 루트 액세스로 잘 작동합니다 (sudo python manage.py migrate)


1
그것은 원인이 아닌 증상을 치료하는 것입니다. sudo가 작동하면 권한 문제 일 수 있습니다.
evandentremont 2015 년

확실히 문제를 진단하는 방법 일뿐입니다.
Hemanth Gowda

1

제 경우에는 Mac에서 pyCharm 5를 사용했습니다. 나는 또한이 문제가 있었고이 명령을 실행 한 후 문제가 해결되었습니다.

sudo pip install django --upgrade 

1

다음과 같이 시도해 볼 수 있습니다 : python3 manage.py migrate(sur가 src/디렉토리 에 있도록 만드십시오 )

시도해 볼 수도 있습니다 pip install -r requirements.txt( 마이그레이션 후 requirements.txt입력 할 때 파일이 보이도록ls

그래도 여전히 작동하지 않으면 시도하십시오. pip install django

도움이되기를 바랍니다.


0

서버를 실행하기 전에 먼저 프로젝트를 선택하고 이것을 입력 workon your_project_name 한 다음 python manage.py runserver


-1

파일 및 디렉토리 소유권 충돌로 인해 문제가 발생합니다. 프로젝트 아래의 디렉토리 및 파일 소유권이 현재 사용자에게 있는지 확인하십시오. (-R 옵션과 함께 chown 명령을 사용하여 변경할 수 있습니다.) 명령을 다시 실행 해보십시오. "First Django App"샘플을 실행할 때 문제가 해결되었습니다.

python manage.py startapp polls

-1

python manage.py runserver 를 사용하려고 시도하는 것과 동일한 문제가 발생했습니다 . 제 경우에는 sudo su를 사용 합니다. 터미널을 루트로 사용하고 부분적으로 작동하면 다시 시도하십시오. 그래서 python manage.py migrate comand를 사용하고 수정합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.