2011-05-12 2 views
7

파이썬 2.7.1에서 장고 1.3.0을 사용하고 있습니다.ImportError : 이름 시그널을 가져올 수 없습니다.

 
from django.utils import unittest 
from django.test.client import Client 

전체 스택 추적 :

 
    File "C:\Program Files (x86)\j2ee\plugins\org.python.pydev.debug_1.6.3.2010100513\pysrc\runfiles.py", line 342, in __get_module_from_str 
    mod = __import__(modname) 
    File "C:/Users/benjamin/workspace/BookIt/src/BookIt/tests\basic_flow.py", line 11, in 
    from django.test.client import Client 
    File "C:\Python27\lib\site-packages\django\test\__init__.py", line 5, in 
    from django.test.client import Client, RequestFactory 
    File "C:\Python27\lib\site-packages\django\test\client.py", line 21, in 
    from django.test import signals 
ImportError: cannot import name signals 
ERROR: Module: basic_flow could not be imported. 

어떤 아이디어 왜 이런 일이 나는 다음과 같은 수입 쓰기 모든 테스트에서 나는 위의 ImportError를 얻을?

+1

이 [질문] (http://stackoverflow.com/questions/4707111/importerror-cannot-import-name-modulea)을 읽었습니다. ** 클라이언트 **를 두 번 가져 왔기 때문일 수 있습니까? 'C : \ Python27 \ lib \ site-packages \ django \ test \ __ init __. py' 그리고 한번 더'C :/Users/benjamin/workspace/BookIt/src/BookIt/tests \ basic_flow.py' 테스트를 거쳤습니다. 이것이 맞다면 ** 클라이언트 **를 어떻게 테스트에 가져올 수 있습니까? –

+0

Client를 가져 오면 순환 가져 오기가 생성됩니다. 즉, file_A는 file_B를 가져오고 file_B는 file_A를 가져옵니다. 수입이 가득차 있지 않은지는 중요하지 않습니다. 파이썬은 모듈을 파싱하여 개별 항목을 추출해야합니다. 때로는 순환적인 import가 필요할 수도 있습니다. 그렇다면, 여러분의 경우, 상충되는 import를'try' 블록으로 감쌀 수 있습니다. 예외로'ImportError'를 사용하십시오. –

+0

파이썬 셸에서 내 장고 모델을 가져 오기 위해 가져 왔을 때이 문제가 발생했습니다. 그것은 (설정 모듈이 없기 때문에) 실패했고, 나는 그것을 처리했다가 다시 가져 오기를 시도했고, 나는이 오류를 얻었다. 아무튼이 프로세스는 내 모듈 네임 스페이스를 부정한 상태로 만들었지 만 @ BenjaminK. 무언가가 두 번 가져오고 있다는 생각이 들었습니다. –

답변

5

@Hugo는 settings.py 문제라는 것이 옳았습니다. 하지만 장고 환경을 실행할 때 그 문제는 없었습니다. 그러나 단위 테스트를 하나씩 실행하고 싶었을 때 (Pydev를 unittest로 실행함으로써) 실행에 실패했습니다. 내가 할 필요가 무엇 을 위해, 그래서 장고 설정 모듈 정보를 추가했다 지금 내가 내 단위 테스트에 다음 라인을 추가하고하고 있어요 :

 
from django.core import management; 
import BookIt.settings as settings; 
management.setup_environ(settings) 

이 내 장고 프로젝트 설정을로드하고에 저를 허용을 정규 단위 테스트로 운영된다. Pydev에서 더 잘 구성하는 방법에 대한 제안이 있으면 알려주십시오.

2

1 분 전 같은 문제가있었습니다. 조사한 결과 내 settings.py * 파일에 문제가 있음을 알았습니다.

Django에서 설정 파일을 올바르게 찾는 데 문제가 있는지 확인하십시오.

이 오류 메시지는 완전히 의미가 없습니다.

* IIRC Django는 settings.py 파일을 찾지 못하면 환경 변수 DJANGO_SETTINGS_MODULE을 찾고 시도합니다.

+0

'settings.py' 파일에 문제가 있다고 생각하지 않습니다. 가져 오기에 다음 줄을 추가하면 :'From BookIt.settings import ADMIN_MEDIA_PREFIX'는 잘 작동합니다. –

-1

이것은 쉽게 해결할 수 있습니다. settings.py (가장 가능성 있음)를 이미 작성한 경우 "settings.py"파일이 들어있는 디렉토리로 이동하여 실행하십시오.

1] 파이썬 2] 가져 오기 설정

이 명령은 트릭을해야한다. 그런 다음 모든 폴더로 이동하여 실행을 계속하십시오.

관련 문제