Я использую дистрибутив Python 3.6 Anaconda для Windows и хочу преобразовать простой скрипт Python в автономный исполняемый файл. Проблема в том, что сгенерированный файл очень большой (~ 900 МБ) при использовании только нескольких внешних библиотек.
В частности, я использую PyQt5 и pyqtgraph, а также некоторые интегрированные библиотеки Python, такие как sys, time, os и math. До сих пор я использовал PyInstaller и Nuitka, но мне не удалось резко уменьшить размер исполняемого файла.
Я заметил существование некоторых файлов mkl, которые занимают примерно 600 МБ места. После удаления этих файлов я все еще мог запускать свою программу, казалось бы, без сучка и задоринки. Я также заметил, что есть два файла с именем libopenblas, которые кажутся жизненно важными для работы программы и которые в сумме составляют 100 МБ.
Я изучил этот вопрос и нашел похожие вопросы на Stackoverflow и других сайтах. Люди утверждают, что с помощью PyInstaller они смогли создать исполняемые файлы размером менее 40 МБ. Говорят, что для достижения этого уменьшения размера следует исключить все библиотеки беспорядка. Однако я не понимаю, что квалифицируется как «беспорядок». Например, я попытался исключить numpy, и программа не запустилась, несмотря на то, что я не использовал ее напрямую в своей программе. По-видимому, используемые библиотеки имеют некоторые зависимости, без которых программа не может работать.
Наконец, я нашел этот форум, где предлагается использовать виртуальную среду вместо Анаконды. Я попытался настроить его с помощью venv, но у меня возникли проблемы с его реализацией, так как моя установка Anaconda мешает ему и не позволяет мне заново установить все необходимые библиотеки.
Независимо от того, что я делаю, я всегда получаю не менее 200 МБ данных. Как я могу получить функциональный исполняемый файл размером менее 40 МБ? Если простая программа, подобная этой, создает такой большой файл, представьте, что я получу, если решу интегрировать другие библиотеки, такие как tensorflow или scipy. Это нежизнеспособное решение, и до сих пор я не придумал, как его обойти. Любая помощь приветствуется.
РЕДАКТИРОВАТЬ: я попытался установить Python с его официального сайта и удалил Anaconda из Path. В итоге я получил немного меньший файл, который не запустился.