Hardware ID и создание каталога

orlov1

Новичок
Пользователь
Июн 23, 2021
52
2
8
Добрый вечер!

Имеется код, который возвращает hardware id и создает одноименный каталог во временной папке:

Python:
import os
import subprocess
 
current_machine_id = str(subprocess.check_output('wmic csproduct get uuid'), 'utf-8').split('\n')[1].strip()
 
os.mkdir("c:\\Windows\\Temp\\" + current_machine_id)

Запустив скрипт через компилятор все корректно работает.
Создаю ехе через pyinstaller (pyinstaller -F -w filename.py), exe успешно создается.
При запуске exe получаю ошибку "Failed to execute script".

Подскажите, в чем может быть проблема ?
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 669
477
83
сделать файл pyw
просто переименовать py в pyw
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 669
477
83
можете использовать модуль uuid...
либо ковырять winapi...
 

Noor

Пользователь
Пользователь
Ноя 13, 2020
85
19
8
попробуйте конвертнуть в exe без -w (pyinstaller -F filename.py)) , посмотрите будут ли ошибки
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 669
477
83
посмотрите в логах системы, возможно проблемы с правами...
 

orlov1

Новичок
Пользователь
Июн 23, 2021
52
2
8
попробуйте конвертнуть в exe без -w (pyinstaller -F filename.py)) , посмотрите будут ли ошибки
Да, вы оказались правы. Без -w билд отрабатывает корректно. Но окно... Требуется запуск без окна.
Какие есть варианты скрыть окно в моем случае ?
 

orlov1

Новичок
Пользователь
Июн 23, 2021
52
2
8
сделать файл pyw
просто переименовать py в pyw

Если я правильно понял:
Переименовал скрипт py в pyw, собрал билд в exe payinstaller-ом без параметра -w. При запуске возникает та же ошибка.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 669
477
83
Если я правильно понял:
Переименовал скрипт py в pyw, собрал билд в exe payinstaller-ом без параметра -w. При запуске возникает та же ошибка.
я ответил на вопрос как убрать окно консоли в питон скрипте...

а как вы выяснили что окно не нравиться и из за этого ошибка?
если можно то ошибку покажите...
 

orlov1

Новичок
Пользователь
Июн 23, 2021
52
2
8
Суть проблемы и ошибка изложена в первом посте. Далее по Вашему совету я попробовал собрать билд без параметра -w. Скрипт, собранный в exe стал отрабатывать без ошибки, но выводилось окно консоли. Меня интересовало как в моем случае скрыть окно консоли. Вероятно, что проблема связана с выводом/скрытием окна. Возможно я ошибаюсь. От того за советом и пришел.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 669
477
83
прошу прощения, я понял вопрос...
с наскока у меня не получилось убрать окно консоли...
все известные мне способы я попробовал, без консоли он не работает...
 

orlov1

Новичок
Пользователь
Июн 23, 2021
52
2
8
Есть какие то альтернативы получить HID и создать одноименную папку в Темп директории ?
Нужно привязаться к железу. Это может быть, к примеру и ID HDD, или что- то иное. Я думаю вы поняли, что требуется.
Попытался сделать так, как указал в первом посте, не вышло (.
 

Noor

Пользователь
Пользователь
Ноя 13, 2020
85
19
8
@orlov1 попробуй так
Python:
current_machine_id = str(subprocess.check_output('wmic csproduct get uuid')).split('\\r\\n')[1].strip('\\r').strip()
он выдает такой же результат
1625669456989.png
 

Форум IT Специалистов