В PYTHONPATH или в sys.path можно указать путь к ZIP архиву с Python-модулями и пакетами.
export PYTHONPATH=~/my_py_archive.zip
Всё будет выглядеть так, как если бы архив был директорией.
Можно также указать вложенную директорию внутри архива.
export PYTHONPATH=~/my_py_archive.zip/lib
Следует только помнить, что в таком случае пути к модулям будут не актуальны. То есть переменная __file__ будет вести к файлу внутри архива, но с ним не стоит работать как с обычным файлом.
>>> import main
>>> print(main.__file__)
'/home/user/my_py_archive.zip/main.py'
Если вы в архив поместили какие-то ресурсы, то следует сначала их извлечь во внешние файлы или загрузить в память прямо из архива.
import pkgutil
text = pkgutil.get_data(my_pkg.__name__, 'README.md')
____________________
WHL файлы тоже являются ZIP-архивами. Так что с ними это сработает тоже. Но у них иная задача и лучше так не делать.
#tricks