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

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

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 설치.



답변

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

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


답변

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

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

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

workon yourvirtualenvname

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


답변

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

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

$ source ./bin/activate
$ pip install Django


답변

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

sudo pip install --upgrade django==1.3

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


답변

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

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

도와 주셔서 감사합니다.


답변

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

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

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

#!/usr/bin/env python2

또는 python3을 사용하는 경우 :

#!/usr/bin/env python3


답변

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

이것을 실행 :

 sudo pip install Django

트릭을 만들었습니다!

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