Упаковать python

Есть входной main.py скрипт, который использует разные модулей, нужно чтобы в главный скрипт подтянулись все зависимости. Естественно, если я использую requests.get, нужно подтянуть в main.py requests.get и все, от чего он зависит.
В итоге должен получится некий joined_main.py, не зависящий от других модулей.

Я задавал вопрос на Habr Q&A, и не получил разумного ответа. Может быть здесь есть кто-то кто может помочь.

Мне не подходят pyinstaller / nsis / py2exe и другие. .pyc, .pyi, .egg, и другие такие штуки лучше не учитывать. Мне интересно есть ли что-то уже готовое, а если нет - то как это можно реализовать.


Ответы (1 шт):

Автор решения: nomnoms12

В общем случае вы не сможете собрать все зависимости в один файл с кодом на Python.

Банально потому, что зависимости могут быть написаны не на Python. Это также может быть:

  • Байт-код самого языка (файлы с расширением .pyc)
  • Файлы, содержащие типизацию (.pyi)
  • Пакеты, написанные на C/C++ и вызывающие Python C API
  • Динамические библиотеки

В итоге всё сводится к тому, что вам нужно некоторое окружение. А в этом окружении должен быть установлен интерпретатор, который сможет обработать зависимости. Именно это вам и предлагают pyinstaller / nsis / py2exe.

→ Ссылка