|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2021, 09:17 | #1 |
Новичок
Джуниор
Регистрация: 12.01.2021
Сообщений: 1
|
Программа не работает после компиляции
Всем привет. Написал маленькую программу для сбора информации о комплектующих ПК (мне это нужно по работе). Посредством самого python'а программа работает без каких-либо проблем, но если ее скомпилировать через "pyinstaller -F prog1.py", то получившийся exe-шник уже не запускается. Или запускается, но быстро закрывается. Программа использует модуль WMI, думаю проблема с ним, т.к. любые другие программы отлично работают.
Вот код программы: Код:
Последний раз редактировалось qimer; 12.01.2021 в 09:19. |
20.01.2021, 12:47 | #2 |
Пользователь
Регистрация: 20.07.2020
Сообщений: 69
|
Во-первых, это не компиляция, просто архивирование. Вы можете разархивировать этот экзешник и увидите там Вашу программу, все библиотеки, интерпретатор питона + некоторая обвязка. Скорость выполнения программы от такой "компиляции" не поменяется или уменьшится. Также, файлы, так "скомпилированные", обычно нормально выполняются только в той же системе, где и проводилась "компиляция".
А вообще, у Вас вообще не должен был получиться экзешник. https://codecamp.ru/blog/python-pyin...g-python-code/. Правильная команда выглядит немного наоборот: pyinstaller prog1.py -F. Вначале идёт название программы, затем указание, как собирать программу.
---------------------------------------------------
Нич-чего не понимаю! Или что-то случилось, или… одно из двух! |
23.01.2021, 06:50 | #3 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
qimer, в чем заключается проблема у вас не подскажу. У меня ваша программа отработала и в виде скрипта, и в виде exe-файла. Вы точно берете exe из папки dist?
VeryStupidPerson, соглашусь с тем, что это не компиляция. Но: внутри будет не исходный скрипт с программой, а уже скомпилированный ".pyc"; эта операция не для ускорения, а чтобы на пользовательских ПК не ставить интерпретатор; очень часто параметры запуска можно писать практически в произвольном порядке (using-pyinstaller). Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
23.01.2021, 12:42 | #4 |
Пользователь
Регистрация: 20.07.2020
Сообщений: 69
|
Pyc файлы также исполняет интерпретатор. И py переводится в pyc для ускорения запуска. Если Вы создадите проект, например, в среде spyder, то у Вас автоматически создастся папка с копиями всех программ, кроме основной, но с расширением pyc. И при следующем запуске интерпретатор будет импортировать pyc файлы вместо py.
Интерпретатор исполняет именно pyc файлы, поэтому при запуске тратится довольно много времени (для больших проектов) на то, чтоб он перевёл код в понятный для себя и только для себя. Pyc файлы и хранят этот, уже переведённый, код. На скорость выполнения не влияет, но на скорость загрузки - довольно ощутимо. И это и есть плюс питона - код будет работать, при наличие интерпретатора, в любой системе (в идеальном случае, понятно, есть глюки с библиотеками), достаточно просто перенести программу с одного устройства на другое.
---------------------------------------------------
Нич-чего не понимаю! Или что-то случилось, или… одно из двух! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Очередь] Помогите найти ошибку...программа после компиляции и ввода значения не выдает ответ | Калючка | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 07.11.2016 16:57 |
после перезагрузки программа не работает | zekk3r | Общие вопросы Delphi | 8 | 28.02.2013 07:19 |
При компиляции программы на си не выдаёт ошибок и предупреждений,но тем не менее программа не работает. | AmoSirin | Общие вопросы C/C++ | 7 | 12.10.2010 00:11 |
после автозагрузки программа не работает | Kos123 | Свободное общение | 3 | 29.09.2009 13:52 |
delphi7 программа после компиляции сразу закрывается | fredd | Помощь студентам | 1 | 30.10.2008 14:25 |