Нет модуля с именем «code.X»; код не пакет, Python - PullRequest
1 голос
/ 21 апреля 2020

У меня есть следующая структура проекта:

Project
|
---code
|  |
|  ---__init__.py
|  ---X.py
|  ---Y.py
|  ---Z.py
|
----resources
    |
    ---__init__.py
    ---csv/
         |
         --- file1.csv
         --- file2.csv
         ---__init__.py 

Внутри X.py и Y.py у меня есть импорт from code.Z import Z (где Z - имя класса внутри, а также имя файла. Когда я хочу запустить Z.py, он выдает: `ModuleNotFoundError: нет модуля с именем 'code.Z'; 'code' не является пакетом.

Что не так?

1 Ответ

1 голос
/ 21 апреля 2020

Это то, для чего предназначен относительный импорт.

from . import Z # use the class as Z.Z
from .Z import Z # use the class as Z

Подробное описание StackOverflow всей системы .

...