Я получаю ImportError при выполнении моего unittests использование Носа, и я не делаю, когда я просто выполняю его автономный. Все файлы, упомянутые здесь, могут быть замечены по http://gist.github.com/395541#.
Если я выполняю сценарий тестирования, importTest-Test.py, непосредственно я получаю этот вывод:
C:\usr\x\data\src\Python\mmm>python importTest-Test.py
In mmdb
In BusinessLogic
[]
.
----------------------------------------------------------------------
Ran 1 test in 0.001s
Если я позволяю Носу выполнять его, я получаю ошибку:
C:\usr\x\data\src\Python\mmm>nosetests.exe
E
======================================================================
ERROR: Failure: ImportError (No module named mmdb.DataAccess.AttemptDB)
----------------------------------------------------------------------
Traceback (most recent call last):
File "c:\bin\installed\python2.6\lib\site-packages\nose-0.11.3-py2.6.egg\nose\loader.py", line 382, in loadTestsFromName
addr.filename, addr.module)
File "c:\bin\installed\python2.6\lib\site-packages\nose-0.11.3-py2.6.egg\nose\importer.py", line 39, in importFromPath
return self.importFromDir(dir_path, fqname)
File "c:\bin\installed\python2.6\lib\site-packages\nose-0.11.3-py2.6.egg\nose\importer.py", line 86, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "C:\usr\x\data\src\Python\mmm\importtest-Test.py", line 2, in
import importtest
File "C:\usr\x\data\src\Python\mmm\importtest.py", line 1, in
from mmdb.BusinessLogic.AttemptManager import AttemptManager
File "C:\usr\x\data\src\Python\mmm\mmdb\BusinessLogic\AttemptManager.py", line 1, in
from mmdb.DataAccess.AttemptDB import AttemptDB
ImportError: No module named mmdb.DataAccess.AttemptDB
----------------------------------------------------------------------
Ran 1 test in 0.002s
FAILED (errors=1)
Файлы, вовлеченные в пакет, с которым нос испытывает трудности, находятся в следующей структуре - некоторые могут быть замечены здесь http://gist.github.com/395541#.:
mmm\importtest-Test.py
mmm\importtest.py
mmm\mmdb
mmm\__init__.py
mmm\mmdb\BusinessLogic
mmm\mmdb\BusinessObject
mmm\mmdb\DataAccess
mmm\mmdb\__init__.py
mmm\mmdb\BusinessLogic\AttemptManager.py
mmm\mmdb\BusinessLogic\Collections
mmm\mmdb\BusinessLogic\__init__.py
mmm\mmdb\BusinessLogic\Collections\__init__.py
mmm\mmdb\BusinessObject\__init__.py
mmm\mmdb\DataAccess\AttemptDB.py
mmm\mmdb\DataAccess\__init__.py
Это происходит на Win32 / Python 2.6 / Нос 0.11.3.
Я был бы благодарен за любую справку.
спасибо.
По умолчанию нос управляет PYTHONPATH, который он использует. Вы можете попробовать отключить это поведение с помощью переключателя -P.