Прошло много времени с тех пор, как я написал какой-то серьезный код на Python, так что я уверен, что просто упустил что-то глупое ...
Я написал несколько модулей и хотел бы объединить их в один исполняемый zip-архив. Кажется, я помню, что это был довольно тривиальный процесс, и думал, что он у меня работает, но после нескольких добавлений, переименования каталогов / файлов и т. Д. Я не могу разобраться с ошибками.
При изучении вопроса я наткнулся на несколько обращений для упаковки с пресловутым Cheeseshop (pip
), py2exe
, py2app
и т. Д. Однако я не собираюсь распространять свой код в Интернете и не обязательно нужно связывать всю среду Python.
Какой самый простой и простой способ объединения моих модулей в один кроссплатформенный исполняемый файл (в основном, в среде unix / linux / mac)?
Пример структуры:
ProjectRoot
|_ sub_dir
|_ __init__.py # empty file
|_ module1.py
|_ module2.py
|_ __main__.py
Содержимое __main__.py
:
import sub_dir.module1 as sss
sss.main()
Я попытался создать zip-архив ProjectRoot
, но при выполнении архива я получаю следующее:
$ python ./ProjectRoot.zip
/usr/local/opt/python/bin/python3.7: can't find '__main__' module in './ProjectRoot.zip'
Что я делаю не так?