У меня есть 2 идентичные файлы: a.py
и b.py
.
, они оба содержат строку
from mypackage.utils import common
I также есть пакет:
mypackage/
__init__.py
mymodule.py
utils/
__init__.py
common.py
myutils1.py
b.py
data_classes/
__init__.py
command_file.py
myclass.py
Я предварительно делаю pip install mypackage
Затем я запускаю: python a.py
, который следует
, а затем я запускаю python b.py
( обратите внимание, что b.py - это файл в mypackage)
b.py не работает с no module named utils
Есть идеи?
(примечание: я довольно нов к stackoverflow, это на самом деле не относится к Python импорту модулей не удается , хотя это как-то дополнительный вопрос, поэтому, если я делаю что-то не так, задавая новый вопрос, пожалуйста, дайте мне знать:)
edit:
Я устанавливаю mypackage (и, в частности, файл b внутри mypackage) в:
$ HOME \ github \ mypackage \ mypackage \ utils \ b. py
Я копирую b.py в a.py в: $ HOME \ github \ mypackage, это работает
Я копирую b.py в a.py в: $ HOME \ github \ this didn не работает
, так что это несколько объясняет это ... хотя h Я до сих пор не знаю, как это исправить!
edit: я отредактировал setup.py из следующей строки:
packages=['mypackage'],
в
packages=['mypackage','mypackage.data_classes','mypackage.utils']
похоже, это решает мою проблему: теперь все работает.
есть ли веская причина, почему я не должен этого делать?