J'essaie de suivre PEP 328 , avec la structure de répertoires suivante:
pkg/
__init__.py
components/
core.py
__init__.py
tests/
core_test.py
__init__.py
Dans core_test.py
J'ai la déclaration d'importation suivante
from ..components.core import GameLoopEvents
Cependant, lorsque je cours, j'obtiens l'erreur suivante:
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
En cherchant, j'ai trouvé "le chemin relatif ne fonctionnait même pas avec __init__.py " et " Importer un module à partir d'un chemin relatif " mais ils n'ont pas aidé.
Y a-t-il quelque chose qui me manque ici?
no module named myimports.foo
quand je les exécute.
cd
dans PyImports
et exécutée python -m unittest tests.test_abs
, par exemple.
unittest
projets, j'ai donc écrit cet exemple de projet assez exhaustif qui couvre l'imbrication profonde des modules, les importations relatives et absolues (où le travail et non), et le référencement relatif et absolu à l'intérieur d'un package, ainsi que l'importation de classes au niveau simple, double et package. A aidé les choses claires jusqu'à pour moi!