Saya mencoba mengikuti PEP 328 , dengan struktur direktori berikut:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
Dalam core_test.py
Saya memiliki pernyataan impor berikut
from ..components.core import GameLoopEvents
Namun, ketika saya menjalankan, saya mendapatkan kesalahan berikut:
tests$ python core_test.py
Traceback (most recent call last):
File "core_test.py", line 3, in <module>
from ..components.core import GameLoopEvents
ValueError: Attempted relative import in non-package
Mencari di sekitar saya menemukan " jalur relatif tidak bekerja bahkan dengan __init__.py " dan " Impor modul dari jalur relatif " tetapi mereka tidak membantu.
Apakah ada sesuatu yang saya lewatkan di sini?
no module named myimports.foo
saat saya menjalankannya.
cd
ke PyImports
, dan menjalankan python -m unittest tests.test_abs
, misalnya.
unittest
proyek, jadi saya menulis proyek sampel yang cukup lengkap ini yang mencakup bersarang modul yang mendalam, impor relatif dan absolut (di mana pekerjaan dan tidak), dan referensi relatif dan absolut dari dalam paket, serta impor kelas tingkat tunggal, ganda, dan paket. Membantu hal-hal yang jelas sampai untuk saya!