Посты с тэгом cx_freeze


[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way


Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним файлом-exe'шником (на крайний случай, архивом) и минимально возможного размера.


Для этой цели существует немало инструментов: PyInstaller, cx_Freeze, py2exe, py2app, Nuitka и многие другие… Но что, если вы используете в своей программе PyQt? Несмотря на то, что многие (если не все) из выше перечисленных инструментов умеют упаковывать программы, использующие PyQt, существует другой инструмент от разработчиков самого PyQt под названием pyqtdeploy. К моему несчастью, я не смог найти



Python: как обойти ошибку cx_freeze при сборке с модулем obspy

Попытка сборка на ОС Windows заканчивается ошибкой при выполнении программы "Import error: could not load shared library from obspy.signal". Я расскажу как быстро преодолеть эту ошибку.

Obspy динамически подгружает pyd модули в obspy/signal/headers.py:27-28 и 49-50. Причем происходит формирование относительного пути до них, переходя на 1 уровень вверх в директорию Lib. Проблема в том что cx_freeze об этих pyd файлах заранее не знает, поэтому и не включает их при сборке. Если мы зададим в конфигурационном файле включения этих файлов, то не получим желаемый результат. Потому что headers.py рассчитывает их найти в ../Lib, а файлы копируются в корень сборочной директории build, что на несколько уровней выше ожидаемого. Как правильно разрешить этот конфликт