LINUX.ORG.RU

Создание автономных программ python3

 , ,


0

3

Есть цель создать из скрипта, автономную программу со встроенным интерпретатором python и зависимостями, дабы можно было её запускать без наличия python в системе.

Все что я нашёл это PyInstaller и cx_Freeze. Но последний не работает с python3.7. Остаётся только PyInstaller, однако инфы по нему в интернете немного. Обычно всё ограничивается командой типа pyinstall -F target_script.py, но тогда он генерирует бинарник с кучей *.so в той же директории.

Что надо?

Надо что-бы все *.so (кроме самого интерпретатора) лежали где-то в ./bin или ./lib

Т.е. так:
./target_script
./libpython37.so
./base_library.zip
./bin/*.so (остальные .so)

Ни в официальной документации, ни в инете способа так сделать я не нашёл. cx_Freeze так умеет, но как сделать подобное в этой программе я не знаю.

Либо накиньте других способов упаковки. Желательно максимально ручных


Есть цель создать из скрипта, автономную программу со встроенным интерпретатором python и зависимостями

Смотря, что за скрипт и зависимости, можно и в докер.

vvn_black ★★★★ ()

cx_Freeze уже не поддерживает 3.4 и версии старше 2.7, дает вывод именно такой, как тебе нужно. Есть баг с 3.7 на оффтопике, то ты разве на оффтопике собираешь?

byko3y ()

Либо накиньте других способов упаковки. Желательно максимально ручных

Когда я про эти ваши мучения со всякими фризами-нуитиками читаю, у меня чешутся руки попробовать такое:

  • создаёшь директорию
  • кладёшь в неё питон
  • кладёшь в неё свой скрипт
  • кладёшь в неё шелл-скрипт с #!/bin/sh в начале, который это хозяйство будет запускать
  • (опционально) пакуешь директорию в tar.gz
  • ???
  • ПРОФИТ
anonymous ()