Да предположим, че имам минимален спецификационен файл на PyInstaller, напр. hello_world.spec
, който се създава, когато стартирам pyinstaller hello_world.py
(вижте също документи). Този файл със спецификации има код на Python, но няма изрази за импортиране.
Сега да предположим, че персонализирам този файл, напр. използвайки класовете Tree
и TOC
, но нещо се обърка и трябва да разбера какво.
Наясно съм с PyInstaller --log-level
опциите и warn*.txt файлове, но бих предпочел да поставя някои точки на прекъсване в моята IDE и да отстраня грешки във файла със спецификации (или може би просто да си поиграя с класа Tree
в конзолата). Отстраняването на грешки обаче не работи веднага, тъй като в спецификационния файл няма оператори за импортиране. Мога да добавя тези, както по-долу, например:
from PyInstaller.building.build_main import Analysis, PYZ, EXE, COLLECT
from PyInstaller.building.datastruct import TOC, Tree
Но след това се оказва, че е необходима някаква конфигурационна информация, тъй като продължавам да срещам KeyError
s, свързани с CONF
. Опитах се да добавя тези двойки ключ/стойност ръчно въз основа на списък с глобални данни от документите, който изглежда работи до определен момент, но не мога да не си помисля, че правя нещо нередно...
from PyInstaller.config import CONF
CONF['specnm'] = 'hello_world'
... etc. ...
Може ли някой да ми каже какъв е правилният начин да направя това? Трябва ли просто да се придържам към подхода pyinstaller --log-level
?