Я пытаюсь написать оболочку для пакета, который я создал
У меня следующая структура пакета python:
package1
|--__init__.py (blank)
|--module1.py
|--module2.py
|--module3.py
package2
|--module4.py
package1.module1:
import module2
from module3 import *
def main():
# Do some stuff
module2.doSomeModule2Stuff()
if __name__ == "__main__":
main()
package2.module4:
import package1
def main():
package1.module1.main()
Я установил package1
локально, используя python -m pip install -e package1
, чтобы я мог импортировать его в package2
При запускеpython module1.py
(в каталоге package1
), он работает нормально без проблем.
Когда я запускаю python module4.py
(в каталоге package2
), я получаю:
Traceback (most recent call last):
File "module4.py", line 3, in <module>
package1.module1.main()
AttributeError: module 'package1' has no attribute 'module1'
Чтомне нужно изменить package1
, чтобы я мог использовать его в package2
таким образом?
Редактировать 1
Изменение import package1
на import package1.module1
теперь приводит к следующемуошибка
Traceback (most recent call last):
File "module4.py", line 1, in <module>
import package1.module1
File "/home/ben/Documents/package1/package1/module1.py", line 1, in <module>
import module2
ImportError: No module named 'module2'