본문 바로가기
파이썬

파이썬 Python Nose Import Error

by º기록 2020. 11. 23.
반응형


다음은 패키지 파일 구조입니다.

./__init__.py
./foo.py
./tests
   ./__init__.py
   ./test_foo.py

foo.py에는 다음이 포함됩니다.

def dumb_true():
    return True

tests / test_foo.py에는 다음이 포함됩니다.

import foo

def test_foo():
    assert foo.dumb_true()

init .py 파일이 비어 있습니다.

주 디렉토리 (foo.py가있는 곳)에서 nosetests -vv 를 실행하면 다음과 같은 결과가 나타납니다.

Failure: ImportError (No module named foo) ... ERROR

======================================================================
ERROR: Failure: ImportError (No module named foo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python/site-packages/nose-0.11.1-py2.6.egg/nose/loader.py", line 379, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib/python/site-packages/nose-0.11.1-py2.6.egg/nose/importer.py", line 39, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib/python/site-packages/nose-0.11.1-py2.6.egg/nose/importer.py", line 86, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/user/nose_testing/tests/test_foo.py", line 1, in <module>
    import foo
ImportError: No module named foo

----------------------------------------------------------------------
Ran 1 test in 0.002s

FAILED (errors=1)


Python 2.6.2로 Ubuntu 8.04를 실행하고 있습니다. 중요한 경우 수동으로 (setup_tools가 아닌) nose를 구축하고 설치했습니다.

 

해결 방법

 

최상위 디렉토리에 __ init __. py 가 있습니다. 그것은 그것을 패키지로 만듭니다. 제거하면 nosetests 가 작동합니다.

제거하지 않으면 import import dir.foo 로 변경해야합니다. 여기서 dir 은 예배 규칙서.

 

참조 페이지 https://stackoverflow.com/questions/3073259

 

 

반응형

댓글