Нос жалуется в Python 3, но не 2
Я написал тесты с использованием фреймворка Python unittest
и запустил их с помощью Nose в Python 2.7 на Win7 x64, и они отлично работают:
D:UsersNickLocal HGWaldocodesharedcollider>py -2 -mnose
.............
----------------------------------------------------------------------
Ran 13 tests in 0.039s
OK
Однако, когда я запускаю их под Python 3.4, я получаю необъяснимую ошибку
D:UsersNickLocal HGWaldocodesharedcollider>py -3 -mnose
E
======================================================================
ERROR: Failure: ValueError ('D:\Users\Nick\Local HG\Waldo\code\shared\__init__.py\__init__.pyw\__init__.pyc' is
not a package)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:Python34libsite-packagesnosefailure.py", line 39, in runTest
raise self.exc_val.with_traceback(self.tb)
File "D:Python34libsite-packagesnoseloader.py", line 414, in loadTestsFromName
addr.filename, addr.module)
File "D:Python34libsite-packagesnoseimporter.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "D:Python34libsite-packagesnoseimporter.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "D:Python34libimp.py", line 245, in load_module
return load_package(name, filename)
File "D:Python34libimp.py", line 210, in load_package
raise ValueError('{!r} is not a package'.format(path))
ValueError: 'D:\Users\Nick\Local HG\Waldo\code\shared\__init__.py\__init__.pyw\__init__.pyc' is not a package
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
Моя структура пакета:
collider
|- tests
| |- __init__.py
| |- test_removing_chains.py
|
|- __init__.py
|- collider.py
|- viz.py
Я не знаю, где это"...\__init__.py\__init__.pyw\__init__.pyc
" бит исходит из ошибки, или почему он даже поднимается вверх по папке (collider
получает топор от пути, по-видимому), хотя я буду запускать программу либо в корневом каталоге пакета, либо из Папка tests
(та же ошибка).