장고 가져 오기 오류-이름이 core.management 인 모듈이 없습니다.


187

좋아, 나는이 오류가 많이 보인다. 나는 내가 알고있는 모든 것을 시도했지만 아직 이것을 파악하지 못했습니다.

python 2.5 및 Django 1.3을 실행하는 개발 서버에서 작업하고 있습니다. Django 1.3은 tar.gz 다운로드를 압축 해제 한 후 python setup.py install을 사용하여 설치되었습니다.

모든 것이 잘 작동하지만 거의 실행할 필요가 manage.py없지만 새로운 정적 파일 응용 프로그램을 사용하려고하는데 문제가 발생합니다.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management

좋아, 그래서 PATH문제 가 있다.

Django 설치 에서 site-packages디렉토리를 다시 확인하십시오 .

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

좋아, 내가 가지고있는 것을 확인하고 echo $ PYTHON_PATH가 비어 있으므로 설정했습니다.

export PYTHON_PATH=/usr/lib/python2.5/site-packages/django

아직 운이 없다. sys.path가 무엇을 말해야하는지 확인할 수 있습니다

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']

경로가 있으며 내용으로 /usr/lib/python2.5/site-packages/django.pth도 만들었습니다.

cat /usr/lib/python2.5/site-packages/django.pth 
/usr/lib/python2.5/site-packages/django/

아무도 여기에서 무슨 일이 일어나고 있는지 실마리를 얻었습니까?

나는 길을 가고있는 더 많은 심볼릭 링크를 찾았지만 새로운 오류는 없습니다.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
    from django.utils.version import get_svn_revision
ImportError: No module named utils.version

또한 새 프로젝트를 만들어서 문제가 있는지 확인하고 동일한 utils.version 오류가 발생했습니다.

사이드 노드 : #django의 Unode는 저에게 약간의 도움을 주며 동일한 컴퓨터에 virtualenv를 설정하고 오류를 극복 했으므로 여전히 실제 설치에 어떤 문제가 있는지 확실하지 않지만 장고 프로젝트에는 없지만 장고에는있는 것 같습니다. / python 설치.


1
import django파이썬 셸에 입력하면 어떻게됩니까 ?
silent1mezzo

@ silent1mezzo-Ahh 가져 오기를 잊어 버렸습니다. 수입 장고에서 파이썬 쉘의 불만은 없습니다.
grantk

1
도망 쳤어 python manage.py syncdb?
silent1mezzo

@silentmezzo-이 머신이 아니라 프로젝트를 이동하기 전에 내 개인 머신에서 그렇게했습니다.
grantk

먼저 실행 해보십시오. 때때로 오류가 발생할 수 있습니다.
silent1mezzo

답변:


169

나처럼 virtualenv에서 django를 실행 하고이 오류가 발생하면를 참조하십시오 manage.py. 첫 번째 줄은 스크립트를 실행하는 데 사용되는 python 실행 파일을 정의해야합니다. 이것은 virtualenv의 파이썬에 대한 경로 여야하지만 / usr / bin / python과 같은 경로는 아닙니다. 동일한 경로가 아니며 전역 파이썬 환경을 사용합니다 (패키지가 누락 될 수 있습니다). virtualenv의 python 실행 파일 경로로 경로를 변경하십시오.

shebang 줄을로 바꿀 수도 있습니다 #!/usr/bin/env python. virtualenv를 먼저 활성화하면 적절한 파이썬 환경과 인터프리터를 사용해야합니다 (이 방법을 알고 있다고 가정합니다).


27
또는 다음과 같이 실행<path-to-my-env>/bin/python manage.py runserver
geekQ

잘 발견되었습니다! 그것은 정확히 문제였습니다!
kstratis

7
또한 .. virtualenv를 활성화해야합니다. 도!
Alex Mcp

어쨌든 virtualenv에서 Python 실행 파일의 경로 예를 제공 할 수 있습니다. 예를 들어 내 가상 환경으로의 경로는 / Users / Chris / virtualenv / my_first_venv이고 첫 줄을 #! / Users / Chris / virtualenv / my_first_venv /로 만들었지 만 여전히 같은 오류가 발생합니다. 나는 내가 shebang에 뭔가 잘못하고 있다고 생각합니다 ...
Chris

경로 끝에 파이썬 실행 파일을 추가하는 것을 잊었을 수도 있습니다 #!/Users/Chris/virtualenv/my_first_venv/bin/python.
Steve K

40

virtualenv에있는 경우 ./manage.py 'command'를 실행하기 전에이를 활성화해야합니다.

source path/to/your/virtualenv/bin/activate

.bash_profile 또는 .bashrc에서 workon을 구성하는 경우

workon yourvirtualenvname

* manage.py 파일을 수정하지 마십시오. 아직 올바른 방법으로 작동하지 않으며 향후 오류가 발생할 수 있습니다


이것은 밤새 반을 태운 후에도 효과가있었습니다. 정말 감사합니다 @ elin3t.
Yax

30

Django를 수퍼 유저로 설치했기 때문에 같은 문제가 있었으므로 virtualenv에는 없습니다. 해서는 안됩니다sudo pip install Django

대신 다음과 같이 설치하십시오.

$ source ./bin/activate
$ pip install Django

그러나 sudo를하지 않고 당신이 얻을 : OSError가 : [errno를 13] 권한이 거부되었습니다 : '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django'
malhal

15

pip로 django를 다시 설치하십시오.

sudo pip install --upgrade django==1.3

(1.3을 장고 버전으로 교체하십시오)


25
권장하지 않습니다. sudo시스템 디렉토리에 설치하기 위해 사용하면 기본 패키지를 방해하고 파이썬 설치의 일부를 깨뜨릴 수 있습니다. virtualenv를 추천합니다.
Noufal Ibrahim

11

알려진 바와 같이 이것은 경로 문제였습니다.

내 사용자 정의 패키지의 기본은 / etc / profile에 설정된 디렉토리와 이름을 공유했습니다. 그러나 패키지는 웹 서버와 다른 위치에있었습니다. 그래서 나는 $ PYTHONPATH에서 문제가되는 항목을 제거하고 갈 수있었습니다!

도와 주셔서 감사합니다.


10

이 문제의 또 다른 이유는 OS가 기본적으로 python3을 실행하기 때문입니다.

명시 적으로 수행해야합니다. python2 manage.py

또는의 shebang을 다음 manage.py과 같이 편집해야합니다 .

#!/usr/bin/env python2

또는 python3을 사용하는 경우 :

#!/usr/bin/env python3

나를 위해, 나는해야했다#!/usr/bin/env python2.7
Vic

8

A의 임베디드 시스템 (물론 장고를 사용)를 실행하는 동안이 오류가 있었다 라즈베리 파이 2 (그리고 하지 VM )

이것을 실행 :

 sudo pip install Django

트릭을 만들었습니다!

  • Raspbian / Jessie를 사용하는 동료 가 이것을 얻는 경우를 대비하여

6

아마도 virtualenvwrapper를 사용하고있을 것입니다 . 다음을 실행하여 환경을 선택하는 것을 잊지 마십시오.

$ workon env_name

4

저에게 서버는 Python 2.4를 사용하고있었습니다. 필자는 단순히 서버에 설치된 Python 2.7을 조회하고 별칭을 만들었습니다.

alias python=python2.7

더 알고 싶다면 여기 에서 해결책을 찾았습니다 .


4

새 앱을 만들려고 할 때도 같은 문제가 발생했습니다. 작성하면 python manage.py startapp myappusr / bin / python을 찾습니다. 그러나 가상 환경 경로/ bin 디렉토리 에있는 이 " python " 이 필요 합니다 . 다음과 같이 virtualenv의 python 경로를 언급 하여이 문제를 해결했습니다.

<env path>/bin/python manage.py startapp myapp

3

manage.py의 첫 번째 줄을 변경하십시오.

변화

#!/usr/bin/python

으로

#!/usr/bin/env python

3
그 반대가 나를 도왔습니다. 대체 #!/usr/bin/env python에 의해#!/usr/bin/python
curlyreggie

env는 OS 구성 또는 파이썬 설치에 따라 OS 환경 빈 링크를 얻는 일반적인 유닉스 빈입니다. 빈은 / usr / bin /과 다른 경로에있을 수 있으며 솔루션이 작동하지 않으며 'env'bin 인 경우 작동하지 않습니다. 다른 위치에 설치되어 있습니다.
Gabriel Cavalcante

3
python3 manage.py runserver

파이썬 버전 확인


3

해결 !!!

연령대를 검색하고 작동하지 않는 다른 모든 제안을 시도한 후에 마침내 설정에 대한 솔루션을 찾았습니다.

내 설정 / 시나리오 :

  • 윈도우, 파이썬 27
  • 내 장고 프로젝트는 svn을 통해 체크 아웃됩니다.
  • 새 폴더에서 python manage.py runserver 를 실행할 때 가져 오기 오류가 발생했습니다.
  • python manage.py runserver 는 원래 폴더에서 작업을 수행 할 때까지 사용했습니다.

해결책

동일한 manage.py 디렉토리에서 django 라는 폴더를 제거하십시오.

맞습니다. __init__.py 파일 만 포함 된 "django"폴더를 제거하자마자 서버를 다시 실행할 수 있습니다!

왜 그런지 모르겠다


__init__.py 파일이있는 폴더는 파이썬 모듈 로 취급되기 때문 입니다. 따라서 묵시적 모듈 디렉토리의 이름을 django
kaushal agrawal로 지정해서는 안됩니다.


2

python python 경로를 변수에 저장하고 실행하십시오. 그렇지 않으면 누락 된 패키지가 포함됩니다.

python_path= `which python` 
$python_path manage.py runserver

1

나는 비슷한 문제가 있었다. PyCharm은 서버를 실행할 수 없지만 명령 줄에서 서버를 실행할 수 있습니다. 어떤 파이썬을 시도한 다음 PyCharm이 동일한 통역사인지 확인한 다음 모든 것이 제대로 작동하는지 확인했습니다.


1

이 오류는 일반적으로 django가 설치되지 않은 경우에 발생합니다. django를 이미 설치했지만 여전히 같은 오류가 발생하면 별도의 가상 환경에서 작업해야합니다. 가상 환경에도 django를 설치해야합니다. 가상 머신의 쉘에있을 때 간단히 다음을 수행하십시오.

핍 설치 장고

가상 시스템에는 별도의 파일 시스템이 있으므로 django가 시스템에 설치되어 있어도 장고를 인식하지 못합니다.


1

#PATH = "$ VIRTUAL_ENV / bin : $ PATH"를 PATH = "$ PATH : $ VIRTUAL_ENV / bin"으로 변경하여이 문제를 해결했습니다. virtualenv 디렉토리의 python 실행 파일에 django는 보이지 않지만 일반적으로 설치된 파이썬은 않습니다.


1

================================== 해결책 : =============== ===========================

첫 번째 goto : virtualenv

다음 명령을 실행하여 : source bin / activate

'import django'와 관련된 오류가 발생하여 django를 설치하십시오.

pip install django

그런 다음 다음을 실행하십시오.

python manage.py runserver

(참고 : 'runserver'를 실행하려는 프로그램 이름으로 변경하십시오)

같은 문제에 대해서는 제 경우에 효과가있었습니다. =================================== 시놉시스 ================ ===========================

ERROR:
(Development) Rakeshs-MacBook-Pro:src rakesh$ python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

위의 예외를 처리하는 동안 다른 예외가 발생했습니다.

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
(Development) Rakeshs-MacBook-Pro:src rakesh$ 
(Development) Rakeshs-MacBook-Pro:src rakesh$ 
(Development) Rakeshs-MacBook-Pro:src rakesh$ python -Wall manage.py test
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

위의 예외를 처리하는 동안 다른 예외가 발생했습니다.

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    import django
ModuleNotFoundError: No module named 'django'

위의 예외를 처리하는 동안 다른 예외가 발생했습니다.

Traceback (most recent call last):
  File "manage.py", line 17, in <module>
    "Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

장고 설치 후 :

(Development) MacBook-Pro:src rakesh$ pip install django
Collecting django
  Downloading https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3MB)
    100% |████████████████████████████████| 7.3MB 1.1MB/s 
Collecting pytz (from django)
  Downloading https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
    100% |████████████████████████████████| 512kB 4.7MB/s 
Installing collected packages: pytz, django

해결 후 :

(Development) MacBook-Pro:src rakesh$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

August 05, 2018 - 04:39:02
Django version 2.1, using settings 'trydjango.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[05/Aug/2018 04:39:15] "GET / HTTP/1.1" 200 16348
[05/Aug/2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348
[05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304
Not Found: /favicon.ico
[05/Aug/2018 04:39:16] "GET /favicon.ico HTTP/1.1" 404 1976

행운을 빕니다!!


0

프로젝트가 django1.3보다 오래된 django-admin.py의 이전 버전을 사용하여 생성되었습니다.

이 문제를 해결하려면 다른 장고 프로젝트를 만들고 manage.py를 복사하여 이전 프로젝트에 붙여 넣으십시오.


@dontario. 이것이 아니라, 나는 1.3.0 final을 실행하는 개인용 컴퓨터를 사용 하여이 프로젝트를 만들었습니다. 이전 버전으로 만든 가져온 프로젝트가 있습니까?
grantk

새 응용 프로그램에서 사용 된 이전 응용 프로그램으로 새 mange.py를 복사하려고 시도했지만 여전히 동일한 오류가 발생합니다.
grantk

0

이것이 경로 문제이지만 완전히 뒤떨어 졌다는 것에 동의했습니다.이 같은 오류가 발생했습니다. 가상 환경을 설정할 때 Python 실행 파일에 상대 경로를 사용하는 실수로 인한 것입니다. 나는 이것을했다 :

virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute

대신 파이썬 실행 파일의 전체 경로를 제공해야했습니다.

할린


0

소스 ~ / blog-venv / bin / activate

여기서 "blog-venv"를 대체 할 virtualenv를 선택하십시오.


고마워, 이것에 관한 나의 문제를 해결했다 :File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Shailen

0

경로에서 올바른 디렉토리를 사용하여 올바른 Python 인스턴스를 실행하고 있는지 확인하십시오. 필자의 경우이 오류 python는 실수로 실행 파일을 실행 한 결과입니다. 실제로 python2.7프레임 워크 및 라이브러리 아래에 Django를 설치했습니다 . virtualenv의 결과에서도 마찬가지입니다.


0

좋아 다음과 같이 간다 :

가상 환경을 만들었고 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을 실행하여 파이썬-> 사이트 패키지에 django를 전역 적으로 설치할 수 있습니다

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

그런 다음 이것을하십시오 :

import django print (django.get_version ()) (사용하는 Python 버전에 따라 다릅니다 .Python 3+ 시리즈의 경우)

그런 다음 python manage.py runserver를 실행하고 : localhost : 8000을 입력하여 웹 브라우저를 확인하면 django powered page가 표시됩니다.

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


0

settings.py의 INSTALLED_APPS 목록에 새 앱의 이름을 포함 시켰습니다. "이전"startapp 명령을 실행했습니다. 목록 항목을 제거하면 앱을 만들 수 있습니다.


0

대신 다음과 같이 'django-admin'명령을 사용하여이 문제를 해결했습니다.

django-admin startproject _project_name

"django-admin"에 첨부 된 ".py"를 제거하십시오.



0

을 사용하여 Django를 설치했음을 잊어 버렸기 때문에 pip -UDjango 앱을 실행하는 사용자 만 사용할 수있었습니다. manage.py를 실행하려면

sudo su -s /bin/bash MY_DJANGO_USER
/PATH/TO/MY/APP/manage.py

-2

너희 모두는 "나 같은 사람"이 virtualenv를 설치하기 전에 django를 설치하는 경우를 언급하지 않았다. 그래서 만약 당신이 그렇게한다면 내 종류의 모든 사람들을 위해 ... virtualenv를 활성화 한 후 django를 다시 설치하십시오. 도움이 되었기를 바랍니다


이것은 해결책이 아닙니다. Steve k의 다른 솔루션에 대한 의견입니다.
shanemgrey

그게 나에게 일어난 일이고 내가 고쳐 놓은 방법입니다 ... 초보자가 빠질 수있는 실수입니다.
쳤던
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.