Модуль не знает своего известного пакета в Python - PullRequest
1 голос
/ 31 марта 2019

У меня есть небольшие проблемы с импортом моего собственного модуля.
Мой проект структурирован примерно так, как показано ниже.

src/  
|-- utils/  
|----- __init__.py  
|----- foo_a.py  
|----- foo_b.py  
|-- main.py  

main.py

from utils import foo_b

foo_a.py

def func_a():
    print ("Hello World")

foo_b.py

from foo_a import func_a
    func_a()

Если я запускаю python foo_b.py, он работает.
Но когда я запускаю python main.py, он показывает ошибку, подобную этой:
"ModuleNotFoundError: No module named 'foo_a'"

Я могу обойти проблему следующим образом: export PYTHONPATH = path_of_utils_folder

Но это просто раздражает.Так что мне интересно, если структура моего проекта неправильная или это связано с тем, как я импортирую модуль?

Спасибо.

1 Ответ

0 голосов
/ 31 марта 2019

foo_a.py не является экземпляром, поэтому вы не можете использовать его как модуль, который вы можете использовать из утилиты import ...

это неправильное использование >>> из foo_a import

, есливы хотите использовать из foo_a

вам нужно что-то в foo_a, например:

в foo_a;

def plus(a,b):
    return(a+b)

сейчас, вы можете использовать это из foo_a import plus, но вы можетене используйте это из foo_a import plussss

, потому что plusss отсутствует в foo_a

для использования plusss следует в foo_a

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...