Ошибка импорта Python (ModuleNotFoundError) при импорте функции из модуля, который импортирует класс из другого модуля - PullRequest
0 голосов
/ 01 февраля 2019

Моя структура файла выглядит следующим образом:

/dir/
    main.py
    /src/
        functionsfile.py
        classfile.py

В functionsfile есть функция, которая использует класс, созданный в classfile.Я импортирую этот класс с помощью

from classfile import ClassName

(я также пытался импортировать *).

Просто тестируя функцию в functionsfile с помощью оператора print, кажетсянайти модуль класса и просто использовать ClassName, но затем, когда я import переходит из этой функции из functionsfile в скрипт main.py, он выдает ошибку:

ModuleNotFoundError: No module named 'classfile'

Iпопытался импортировать функцию с:

from functionsfile import function

и

from functionsfile import *

Я в недоумении, почему это происходит?

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Попробуйте

from src.classfile import ClassName

Было бы также лучше изменить структуру каталогов.

/dir
  /src
    /class
       classfile.py
       functionsfile.py
    main.py
0 голосов
/ 01 февраля 2019

Как сказал Водолей, вам нужно создать пустой __init__.py файл внутри папки src

и попытаться импортировать его как

from src.classfile import *

Внутри main.py файла

Я надеюсь, что это работает для вас: D

0 голосов
/ 01 февраля 2019

Похоже, вам не хватает файла __ init __. Py .Попробуйте импортировать после добавления в папку / src /.

...