[python] Django- “django.core.management라는 모듈 없음”

명령 줄에서 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 -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 ...


답변

sudo pip install django --upgrade 

나를 위해 트릭을했다.


답변

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

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

source python2.7/bin/activate


답변

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

그래서 교체

/usr/bin/python

~/projectpath/venv/bin/python

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


답변

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


답변

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

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

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

1.)

source virtualenvwrapper.sh

또는

source /usr/local/bin/virtualenvwrapper.sh

2.)

workon [environment name]

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


답변

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

python manage.py startapp <app_name>

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