Меню

Pyinstaller ошибка после компиляции

Qimer

0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

1

Программа не работает после компиляции

12.01.2021, 11:33. Показов 10706. Ответов 17

Метки компиляция, не, программа, работает (Все метки)


Всем привет. Написал маленькую программу для сбора информации о комплектующих ПК (мне это нужно по работе). Посредством самого python’а программа работает без каких-либо проблем, но если ее скомпилировать через «pyinstaller -F prog1.py», то получившийся exe-шник уже не запускается. Или запускается, но быстро закрывается, не отрабатывая как следует. Программа использует модуль WMI, думаю проблема с ним, т.к. любые другие программы отлично работают после компиляции.

Вот код программы:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import wmi
 
c = wmi.WMI()
 
MemoryType = {
    '26': 'DDR4',
    '21': 'DDR2',
    '24': 'DDR3',
}
 
text = ''
 
 
for i in c.CIM_Processor():
    text = text + i.Name.rstrip() + ', ' + str(i.MaxClockSpeed) + 'MHz' + 'n'
for i in c.Win32_BaseBoard():
    text = text + i.Product + 'n'
for i in c.Win32_PhysicalMemory():
    text = text +str(int(i.Capacity)/1073741824) + 'Gb, ' + MemoryType[str(i.SMBIOSMemoryType)] + 'n'
for i in c.Win32_PhysicalMemoryArray():
    text = text + 'всего слотов: ' + str(i.MemoryDevices) + 'n'
for i in c.Win32_DesktopMonitor():
    print(i)
 
print(text)
a = input()

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



622 / 463 / 177

Регистрация: 28.05.2012

Сообщений: 1,380

12.01.2021, 12:10

2

Но не компилируешь, а упаковываешь…
А смысл, чем так не устраивает ?



0



Модератор

Эксперт Python

2322 / 1388 / 473

Регистрация: 21.02.2017

Сообщений: 3,816

Записей в блоге: 1

12.01.2021, 13:00

3

Qimer, где лог

«компиляции»

упаковки в exe, где трассировка?



1



0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

12.01.2021, 13:18

 [ТС]

4

Вот лог:

Кликните здесь для просмотра всего текста

(venv) D:Python>pyinstaller -F WMItest.py
68 INFO: PyInstaller: 4.1
68 INFO: Python: 3.9.1
68 INFO: Platform: Windows-10-10.0.19041-SP0
69 INFO: wrote D:PythonWMItest.spec
71 INFO: UPX is not available.
76 INFO: Extending PYTHONPATH with paths
[‘D:\Python’, ‘D:\Python’]
109 INFO: checking Analysis
117 INFO: Building because D:PythonWMItest.py changed
117 INFO: Initializing module dependency graph…
119 INFO: Caching module graph hooks…
139 INFO: Analyzing base_library.zip …
2642 INFO: Processing pre-find module path hook distutils from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks\pre_find_module_path \hook-distutils.py’.
2643 INFO: distutils: retargeting to non-venv dir ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib’
5273 INFO: Caching module dependency graph…
5349 INFO: running Analysis Analysis-00.toc
5352 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by c:usersqimerappdatalocalprogramspythonpytho n39python.exe
5383 WARNING: lib not found: api-ms-win-core-path-l1-1-0.dll dependency of c:usersqimerappdatalocalprogramspythonpytho n39python39.dll
5404 INFO: Analyzing D:PythonWMItest.py
5411 INFO: Processing module hooks…
5411 INFO: Loading module hook ‘hook-difflib.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5413 INFO: Excluding import of doctest from module difflib
5413 INFO: Loading module hook ‘hook-distutils.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5414 INFO: Loading module hook ‘hook-distutils.util.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5416 INFO: Excluding import of lib2to3.refactor from module distutils.util
5416 INFO: Loading module hook ‘hook-encodings.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5469 INFO: Loading module hook ‘hook-heapq.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5470 INFO: Excluding import of doctest from module heapq
5470 INFO: Loading module hook ‘hook-lib2to3.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5505 INFO: Loading module hook ‘hook-multiprocessing.util.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5506 INFO: Excluding import of test from module multiprocessing.util
5506 INFO: Excluding import of test.support from module multiprocessing.util
5507 INFO: Loading module hook ‘hook-pickle.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5508 INFO: Excluding import of argparse from module pickle
5508 INFO: Loading module hook ‘hook-sysconfig.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5510 INFO: Loading module hook ‘hook-xml.etree.cElementTree.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5510 INFO: Loading module hook ‘hook-xml.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5572 INFO: Loading module hook ‘hook-_tkinter.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5685 INFO: checking Tree
5754 INFO: checking Tree
5819 INFO: checking Tree
5839 INFO: Looking for ctypes DLLs
5860 INFO: Analyzing run-time hooks …
5861 INFO: Including run-time hook ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_mul tiprocessing.py’
5872 INFO: Looking for dynamic libraries
6032 INFO: Looking for eggs
6032 INFO: Using Python library c:usersqimerappdatalocalprogramspythonpytho n39python39.dll
6032 INFO: Found binding redirects:
[]
6035 INFO: Warnings written to D:PythonbuildWMItestwarn-WMItest.txt
6066 INFO: Graph cross-reference written to D:PythonbuildWMItestxref-WMItest.html
6074 INFO: checking PYZ
6081 INFO: Building because toc changed
6081 INFO: Building PYZ (ZlibArchive) D:PythonbuildWMItestPYZ-00.pyz
6465 INFO: Building PYZ (ZlibArchive) D:PythonbuildWMItestPYZ-00.pyz completed successfully.
6476 INFO: checking PKG
6480 INFO: Building because toc changed
6480 INFO: Building PKG (CArchive) PKG-00.pkg
7877 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
7879 INFO: Bootloader c:usersqimerappdatalocalprogramspythonpytho n39libsite-packagesPyInstallerbootloaderWindows-64bitrun.exe
7879 INFO: checking EXE
7883 INFO: Building because name changed
7884 INFO: Building EXE from EXE-00.toc
7884 INFO: Appending archive to EXE D:PythondistWMItest.exe
7946 INFO: Building EXE from EXE-00.toc completed successfully.



0



Модератор

Эксперт Python

2322 / 1388 / 473

Регистрация: 21.02.2017

Сообщений: 3,816

Записей в блоге: 1

12.01.2021, 13:19

5

Ну во-первых python 3.9.1 — сомнительное удовольствие.
Во вторых: WARNING: lib not found: api-ms-win-core-path-l1-1-0.dll



1



0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

12.01.2021, 13:44

 [ТС]

6

Установил api-ms-win-core-path-l1-1-0.dll. Пере»упаковал» программу. Толку 0.

Кликните здесь для просмотра всего текста

(venv) D:Python>pyinstaller -F WMItest.py
55 INFO: PyInstaller: 4.1
55 INFO: Python: 3.9.1
55 INFO: Platform: Windows-10-10.0.19041-SP0
56 INFO: wrote D:PythonWMItest.spec
57 INFO: UPX is not available.
59 INFO: Extending PYTHONPATH with paths
[‘D:\Python’, ‘D:\Python’]
89 INFO: checking Analysis
89 INFO: Building Analysis because Analysis-00.toc is non existent
89 INFO: Initializing module dependency graph…
91 INFO: Caching module graph hooks…
111 INFO: Analyzing base_library.zip …
2603 INFO: Processing pre-find module path hook distutils from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks\pre_find_module_path \hook-distutils.py’.
2605 INFO: distutils: retargeting to non-venv dir ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib’
5203 INFO: Caching module dependency graph…
5278 INFO: running Analysis Analysis-00.toc
5279 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by c:usersqimerappdatalocalprogramspythonpytho n39python.exe
5319 WARNING: lib not found: api-ms-win-core-path-l1-1-0.dll dependency of c:usersqimerappdatalocalprogramspythonpytho n39python39.dll
5324 INFO: Analyzing D:PythonWMItest.py
5330 INFO: Processing module hooks…
5331 INFO: Loading module hook ‘hook-difflib.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5332 INFO: Excluding import of doctest from module difflib
5333 INFO: Loading module hook ‘hook-distutils.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5334 INFO: Loading module hook ‘hook-distutils.util.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5336 INFO: Excluding import of lib2to3.refactor from module distutils.util
5336 INFO: Loading module hook ‘hook-encodings.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5389 INFO: Loading module hook ‘hook-heapq.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5390 INFO: Excluding import of doctest from module heapq
5391 INFO: Loading module hook ‘hook-lib2to3.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5425 INFO: Loading module hook ‘hook-multiprocessing.util.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5426 INFO: Excluding import of test from module multiprocessing.util
5426 INFO: Excluding import of test.support from module multiprocessing.util
5426 INFO: Loading module hook ‘hook-pickle.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5427 INFO: Excluding import of argparse from module pickle
5427 INFO: Loading module hook ‘hook-sysconfig.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5429 INFO: Loading module hook ‘hook-xml.etree.cElementTree.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5429 INFO: Loading module hook ‘hook-xml.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5499 INFO: Loading module hook ‘hook-_tkinter.py’ from ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks’…
5614 INFO: checking Tree
5614 INFO: Building Tree because Tree-00.toc is non existent
5614 INFO: Building Tree Tree-00.toc
5696 INFO: checking Tree
5696 INFO: Building Tree because Tree-01.toc is non existent
5696 INFO: Building Tree Tree-01.toc
5756 INFO: checking Tree
5756 INFO: Building Tree because Tree-02.toc is non existent
5756 INFO: Building Tree Tree-02.toc
5773 INFO: Looking for ctypes DLLs
5794 INFO: Analyzing run-time hooks …
5796 INFO: Including run-time hook ‘c:\users\qimer\appdata\local\programs\pytho n\python39\lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_mul tiprocessing.py’
5806 INFO: Looking for dynamic libraries
5953 INFO: Looking for eggs
5953 INFO: Using Python library c:usersqimerappdatalocalprogramspythonpytho n39python39.dll
5954 INFO: Found binding redirects:
[]
5956 INFO: Warnings written to D:PythonbuildWMItestwarn-WMItest.txt
5987 INFO: Graph cross-reference written to D:PythonbuildWMItestxref-WMItest.html
5993 INFO: checking PYZ
5994 INFO: Building PYZ because PYZ-00.toc is non existent
5994 INFO: Building PYZ (ZlibArchive) D:PythonbuildWMItestPYZ-00.pyz
6380 INFO: Building PYZ (ZlibArchive) D:PythonbuildWMItestPYZ-00.pyz completed successfully.
6392 INFO: checking PKG
6392 INFO: Building PKG because PKG-00.toc is non existent
6392 INFO: Building PKG (CArchive) PKG-00.pkg
7772 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
7773 INFO: Bootloader c:usersqimerappdatalocalprogramspythonpytho n39libsite-packagesPyInstallerbootloaderWindows-64bitrun.exe
7773 INFO: checking EXE
7773 INFO: Building EXE because EXE-00.toc is non existent
7773 INFO: Building EXE from EXE-00.toc
7774 INFO: Appending archive to EXE D:PythondistWMItest.exe
7825 INFO: Building EXE from EXE-00.toc completed successfully.



0



Модератор

Эксперт Python

2322 / 1388 / 473

Регистрация: 21.02.2017

Сообщений: 3,816

Записей в блоге: 1

12.01.2021, 13:56

7

Qimer, Меня вот это фраза смущает — «Установил api-ms-win-core-path-l1-1-0.dll». Куда ты это установил, pyinstaller не находит эту dll при упаковке, это означает что его ручками надо упаковать. Более того, чтобы явно понять в чем дело, включи консоль при упаковке и запусти exe файл через консоль, там ты увидишь явную причину, на что именно ругается упакованный скрипт.



1



0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

12.01.2021, 14:32

 [ТС]

8

Нашел видос на ютьюбе, там чел рассказывал как установить эти библиотеки. Установил Redist C++ четатам и ребутнул комп. Но прблема не исчезла, так и не найдет эту библиотеку. Поискал еще на форумах и нашел как чел запускает это по команде
pyinstaller —paths «C:Program Files (x86)Windows Kits10RedistucrtDLLsx86» -F main.py

Сижу качаю эти Kits сейчас.
А вот что мне выдала консоль PyCharm при вызове моего исполняющего файла. Как и предполагалось, он не импортировал WMI.

(venv) D:Pythondist>wmitest.exe
Traceback (most recent call last):
File «WMItest.py», line 1, in <module>
ModuleNotFoundError: No module named ‘wmi’
[2096] Failed to execute script WMItest

Добавлено через 27 минут
Нифига. Почему то в этих Kits этой библиотеки нет. Хз что делать. DmFat, ты можешь у себя попробовать проделать то же самое? Я имею в виду упаковать программу и проверить будет ли она у тебя работать. Там только WMI модуль надо установить и все.



0



geargoose

55 / 52 / 3

Регистрация: 02.11.2019

Сообщений: 228

12.01.2021, 14:49

9

Если программа консольная — то создай файл index.bat в папке с программой, открой его в «блокноте» и вставь туда это:

Bash
1
2
твоя_программа.exe
pause

Потом сохрани и запусти двойным щелчком. Появится окно командной строки, там будет вывод программы.



1



Fudthhh

12.01.2021, 14:52

Не по теме:

geargoose, что это за совет такой, не легче ли запустить через консоль просто? (ТС уже сделал это и даже трассировку вывел)



0



55 / 52 / 3

Регистрация: 02.11.2019

Сообщений: 228

12.01.2021, 15:03

11

Так же возможно вашу программу блокирует антивирус. Попробуйте отключить его. У меня к примеру после запуска программы антивирус вывел баннер о о том, что у меня жутчайший вирус. И советую собирать с отключённым интернетом (возможно pyinstaller добавляет какие-то подозрительные файлы из интернета (моё личное мнение, можно не верить)), так как сборка без интернета у антивируса подозрений не вызывает.

Добавлено через 6 минут
Обновил антивирус, запустил сканирование файла — теперь работает. К стати, встроенный защитник windows 10 сразу удаляет это приложение.



0



55 / 52 / 3

Регистрация: 02.11.2019

Сообщений: 228

12.01.2021, 15:05

12

Вот моя сборка: (Python 3.8)

P.S. DmFat, можете объяснить что такое ТС, пожалуйста?



1



0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

12.01.2021, 15:25

 [ТС]

13

geargoose, можешь объяснить как ты упаковал файл и почему у тебя получилось, а у меня нет?)

TC Я так понимаю это аббревиатура от Topic Creator — создатель темы



0



Fudthhh

12.01.2021, 15:26

Не по теме:

geargoose, ТС — Топикстартер. И да, мне не интересно что там в архиве и что за сборка, она ни как не относится к теме.



0



0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

12.01.2021, 15:30

 [ТС]

15

Цитата
Сообщение от geargoose
Посмотреть сообщение

так как сборка без интернета у антивируса подозрений не вызывает.

Это может быть от того, что антивирус сверяется с базами из интернета, а нет интернета — нет проверки. У меня тоже стандартный защитник ругается на любые, упакованные pyinstaller’ом, файлы.



0



55 / 52 / 3

Регистрация: 02.11.2019

Сообщений: 228

12.01.2021, 16:57

16

DmFat,

Цитата
Сообщение от DmFat
Посмотреть сообщение

И да, мне не интересно что там в архиве и что за сборка, она ни как не относится к теме.

Это программа, представленная Qimer в виде кода.

Добавлено через 50 секунд

Цитата
Сообщение от Qimer
Посмотреть сообщение

geargoose, можешь объяснить как ты упаковал файл и почему у тебя получилось, а у меня нет?)

У вас заработала моя программа?

Добавлено через 1 минуту
Попробуйте установить python 3.8 и обновить все библиотеки.

Добавлено через 1 минуту

Цитата
Сообщение от DmFat
Посмотреть сообщение

WARNING: lib not found: api-ms-win-core-path-l1-1-0.dll

Интересный факт: при каждой сборке мой pyinstaller ругается на отсутствие многих модулей таким образом, но на работу программы это не влияет. Предполагаю что этот «Warning» — бред сивой кобылы.



1



0 / 0 / 0

Регистрация: 04.10.2017

Сообщений: 8

12.01.2021, 17:01

 [ТС]

17

Ребят, я разобрался. Я что-то напортачил с проектом. Создал новый проект, установил туда WMI и pyinstaller, скопировал прогу свою и упаковал её. И все заработало. Извиняюсь, я с python’ом недавно. Не все для меня еще понятно в нем. Спасибо вам за советы.

Цитата
Сообщение от geargoose
Посмотреть сообщение

У вас заработала моя программа?

Да, это меня и удивило и натолкнуло на мысль, что я сам что-то напортачил, раз у вас все получилось.



0



55 / 52 / 3

Регистрация: 02.11.2019

Сообщений: 228

12.01.2021, 17:02

18

Очень рад!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

12.01.2021, 17:02

18

Уведомления

  • Начало
  • » Python для новичков
  • » Ошибка в приложении после компиляции pyinstaller

#1 Авг. 19, 2018 17:25:04

Ошибка в приложении после компиляции pyinstaller

После компиляции при запуске приложения вылетает ошибка

Прикреплённый файлы:
attachment Безымянный.jpg (435,8 KБ)

Офлайн

  • Пожаловаться

#2 Авг. 20, 2018 09:31:57

Ошибка в приложении после компиляции pyinstaller

https://www.pyinstaller.org/

PyInstaller works with Python 2.7 and 3.3—3.6

А у вас, я так понял пайтон 3.7

==============================
Помещайте код в теги:

Бериегите свое и чужое время.

Офлайн

  • Пожаловаться

#3 Авг. 20, 2018 15:18:04

Ошибка в приложении после компиляции pyinstaller

minchik
После компиляции при запуске приложения вылетает ошибка

Python — не компилируемый язык. Это — не компиляция. Этот модуль просто упаковывает интерпр. и все нужные модули в .exe, типо как SFX архив

____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

  • Пожаловаться

  • Начало
  • » Python для новичков
  • » Ошибка в приложении после компиляции pyinstaller

Я написал программу в python (pyodbc и tkinter). Я использовал pyodbc для подключения к базе данных Microsoft Access.

Существует код подключения:

import pyodbc

# Microsoft Access Database File
DBfile = 'GDP.mdb'
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};DBQ='+DBfile)

Когда я запускаю его перед компиляцией в командной строке (python myprogram.py), он работает очень хорошо. При компиляции с pyinstaller все идет хорошо, никаких ошибок не сообщается.

Но при попытке запустить executabl он отображает главное окно в течение 2 секунд, которое затем исчезает.

Когда я использовал флаг -d в pyinstaller для включения режима отладки, при запуске исполняемого файла появляется следующая ошибка:

Traceback (most recent call last):
File "<string>", line 62, in <module>
  pyodbc.Error: (
     'HY000', "[HY000] [Microsoft][Driver ODBC Microsoft Access]
     Can't find File'(Unknown)'. 
     (-1811) (SQLDriverConnect); [HY000] [Microsoft][Driver ODBC Microsoft Access]
     Can't find File'(Unknown)'.
     (-1811)")
RC: -1 from main

РЕДАКТИРОВАТЬ
первая ошибка исчезла, получила новую:

Traceback (most recent call last):
    File "", line 78, in 
File "pathtomyprogram buildpyi.win32GDPoutPYZ1.pyz/Tkinter", line 1564, in wm_iconbitmap
_tkinter.TclError: bitmap "icon.ico' not defined
RC: -1 from main

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Pycharm ошибка при установке модуля
  • Pycharm ошибка при установке библиотеки