Вот MWE. Это прекрасно работает, когда я использую его как обычный пакет.
Код: Выделить всё
main.py
TestPackage/
TestPackage/__init__.py
TestPackage/PackA/PackA.py
TestPackage/PackA/__init__.py
Код: Выделить всё
# TestPackage/__init__.py
import TestPackage.PackA
Код: Выделить всё
# TestPackage/PackA/PackA.py
def hello_from_A():
print('Hello from A!')
Код: Выделить всё
# TestPackage/PackA/__init__.py
from .PackA import *
Код: Выделить всё
# main.py
from TestPackage.PackA import hello_from_A
hello_from_A() # Hello from A!
Код: Выделить всё
main.py
TestPackage.zip
Код: Выделить всё
# main.py
import sys
sys.path.append('/path/to/zip/dir/TestPackage.zip')
from TestPackage.PackA import hello_from_A
hello_from_A()
Код: Выделить всё
zip ../TestPackage.zip *
Код: Выделить всё
Traceback (most recent call last):
File "main.py", line 6, in
from TestPackage.PackA import hello_from_A
ModuleNotFoundError: No module named 'TestPackage'
Подробнее здесь: https://stackoverflow.com/questions/798 ... ip-archive
Мобильная версия