С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/65: Рейтинг темы: голосов - 65, средняя оценка - 4.92
 Аватар для Allrond
2 / 2 / 2
Регистрация: 26.10.2012
Сообщений: 85

Компиляция модулей Python

25.01.2016, 12:03. Показов 12149. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно озадачился проблемой сборки модулей Python в исполняемый файл. В моем модуле использовались NumPy для работы с многомерными массивами и wxPython для создания интерфейсов. Использовал PyInstaller.
1)Для начала нужно скачать pip:
pip
Далее запустить файл get-pip.py. Например из командной строки(возможно потребуются права администратора): python get-pip.py
2)Скачиваем и устанавливаем pywin32(выбираем свежий build, вашу версию Python и архитектуру системы):
pywin32
Устанавливаем.
3)Скачиваем и устанавливаем PyInstaller:
PyInstaller
Открываем командную строку, переходим в директорию - куда распаковали архив и пишем(возможно потребуются права администратора):
pip install pyinstaller
!Возможно pip попросит себя обновить, будет предложена строка на подобии pip -m --update, далее ставим pyinstaller
4)Проверяем - установился ли pyinstaller:
В командной строке пишем: pyinstaller -v
Выдаст текущую версию, у меня: 3.1
5)Чтобы откомпилировать наш модуль:
Открываем командную строку
Переходим в директорию с модулем .py
Пишем: pyinstaller -D -F -n=ExeFileName -w PythonModule.py
Аргументы:
-D собрать в одну директорию
-F собрать в один файл
-n= имя выходного исполняемого файла
-w оконный режим
Наш Exe-шник соберется в поддиректории dist.
!При первой сборке, желательно не использовать агрумент -w, т.к., при возникновении ошибки её будет тяжко отследить.
Далее, если наш модуль использовал свои поддиректории и сторонние файлы с относительными путями, помещаем его в папку рядом с ними. Если этого не сделать вылезет ошибка: ModuleName returned -1. Она вылезает при возникновении ошибок в модуле.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.01.2016, 12:03
Ответы с готовыми решениями:

Python компиляция
Если скомпилировать на Windows через pyinstaller программа будет работать на Windows но на других OS не будет. Можно ли как-то...

Компиляция python файлов
Как лучше компилировать python файлы в exe? И можно ли сделать так, что бы после компиляции был только один файл exe без всяких папок и...

Компиляция проекта Python kivy
пытаюсь скомпилировать проект выдает какую-то кучу ошибок. просто питоновский код без киви собирается а с киви выдает вот такую вещь: ...

12
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
25.01.2016, 12:06
и что это такое и за чем оно?
0
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 55
29.04.2017, 14:24
Цитата Сообщение от Allrond Посмотреть сообщение
2)Скачиваем и устанавливаем pywin32(выбираем свежий build, вашу версию Python и архитектуру системы):
pywin32

Как устранавливаем? В скачанном архиве нет ехе файла.

Читаю в реадми:

setup.py install

Набираю в консоли, выдаётся ошибка:

setup.py не является исполняемым файлом
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.04.2017, 15:36
Цитата Сообщение от ruccich Посмотреть сообщение
В скачанном архиве нет ехе файла.
Там в списке билдов на sourceforge есть exe-шники. Еще можно взять whl отсюда http://www.lfd.uci.edu/~gohlke/Pythonlibs/
А если устанавливать из zip через setup.py, то нужно запустить cmd, перейти командой cd /d "нужный каталог" в папку, где находится setup.py и написать в консоли команду: python setup.py install
1
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 55
01.05.2017, 13:19
Цитата Сообщение от Garry Galler Посмотреть сообщение
Еще можно взять whl отсюда http://www.lfd.uci.edu/~gohlke/Pythonlibs/
Спасибо за ответ.

Скачал файл: pywin32-221-cp35-cp35m-win32.whl. Как его теперь установить?

Дело в том, что среди ехе-шников нет подходящих версий. Есть для амд процессоров, райтон 3.5, а у меня интел.

И почему-то командой python setup.py install установить не удалось.Снимок прилагаю.
Миниатюры
Компиляция модулей Python  
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
01.05.2017, 14:13
Цитата Сообщение от ruccich Посмотреть сообщение
Есть для амд процессоров, райтон 3.5, а у меня интел
Под intel вы ничего и не найдете. AMD64 краткое обозначение AMD64/Intel64/EM64T - 64-битной архитектуры микропроцессора.

Цитата Сообщение от ruccich Посмотреть сообщение
Скачал файл: pywin32-221-cp35-cp35m-win32.whl. Как его теперь установить?
FAQ: Установка библиотек для Python: pip install pywin32-221-cp35-cp35m-win32.whl.
0
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 55
01.05.2017, 19:24
Цитата Сообщение от Garry Galler Посмотреть сообщение
FAQ: Установка библиотек для Python: pip install pywin32-221-cp35-cp35m-win32.whl.
Спасибо за ответ. Есть вопрос - для чего нужна эта библиотека - pywin32?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
01.05.2017, 19:35
ruccich, чтобы вызывать win api, которое написано на сях.
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.05.2017, 22:13
Цитата Сообщение от Allrond Посмотреть сообщение
3)Скачиваем и устанавливаем PyInstaller:
PyInstaller
Я из github скачивал и собирал из исходников для Python З.6 версии.

https://github.com/pyinstaller/pyinstaller

Ибо через pip ставился, но не работал.

Кто-то может подсказать как включать другие файлы в exe например ui-файлы, иконки, эзешник selenium driver-a ?
Или дать хотя бы ссылку на толковый материал.
0
33 / 59 / 6
Регистрация: 22.01.2017
Сообщений: 640
01.05.2017, 22:18
Он поддерживает не все библиотеки, у меня были проблемы с pygame, которые так и не были исправленны
0
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 55
02.05.2017, 18:25
Цитата Сообщение от Avazart Посмотреть сообщение
Кто-то может подсказать как включать другие файлы в exe например ui-файлы, иконки, эзешник selenium driver-a ?

Не пробовал, но возможно их нужно прописать как импортируемые, тогда инсталер должен их добавалять в ехе файл. Нужно пробовать самостоятельно разные варианты, потому что материала на эту тему очень мало.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
02.05.2017, 18:30
ruccich, нет, все не так работает. Их явно нужно указывать в скрипте сборки.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.05.2017, 19:05
Толкового объяснения как оно работает не нашел, и вообще может ли он грузить файлы из собранного экзе (ui,icon).

Я перебирал разные варианты и пришел к выводу что не может.
ui нужно конвертить в py, иконки в файл ресурсов помещать.

Добавлено через 4 минуты
Цитата Сообщение от alex925 Посмотреть сообщение
ruccich, нет, все не так работает. Их явно нужно указывать в скрипте сборки.
Во первых как именно?
Во вторых если то как я думаю, то толку от них не будет ибо программа не сможет их использовать "изнутри себя самой".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.05.2017, 19:05
Помогаю со студенческими работами здесь

Установка модулей на Python 3
Никакими способами не устанавливаются модули(через консоль,с помощью pip из zip tar whl архива),скрины прилагаются. Кто то сталкивался с...

Компиляция python в exe под linux
У меня стоит ubuntu. Как скомпилировать python в exe файл для windows? Я пробовал компилировать с помощью cx_Freeze, но он компилирует для...

Компиляция через py2exe.net - Python 3
До недавнего времени компилировал все через онлайн компилятор py2exe.net который справлялся с компилированием Python 3. Однако, пришла...

Компиляция Python интерпритатора из исходников с помошью MinGW
Нужна помощь в компиляции последней версии Python(Python 3.6.4) интерпритатора из исходников с помощью MinGW для Windows(если точнее то для...

Компиляция Python кода с txt и xlsx документами
Добрый день, помогите с проблемой: мне нужно скомпилировать код чтобы его могли запускать на другом устройстве. Сам код работает, но он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru