2017-01-12 7 views
0

Когда я запускаю свою программу py, она работает так, как я ее намеревался. Если я нахожусь в ящике Linux и создаю исполняемый файл с помощью Pyinstaller, он строит без проблем и без проблем. Я обыскивал Pyinstaller Docs, мерзавец, и т.д. ни один из опубликованных исправлений не помогPyinstaller строит файл, но дросселирует на некоторых .dlls

Я все еще очень новый в питоне и чувствую, что это может быть простым исправлением и может быть более думать этот вопрос

Почему может Я не создаю функциональный .exe в системе на базе Windows с помощью pyinstaller?

ОС Windows 10 система

Pyinstaller версия 3.2

Python версии 3.5.2

Это программа GUI с помощью appJar, который также до настоящего времени.

файл не строить, но ошибки «Не удалось выполнить сценарий»

EDIT Не уверен, если это лучше для редактирования в строке, как это, но ... Так изучающие вывод и внесение корректировок, проблема кажется appJar.py. По какой-то причине он не хватает активов, я изучаю его. Беда в том, что я до сих пор не привык смотреть на такой выпуск и не знаю, с чего начать.

C:\Users\_User_>C:\temp\fileCreatorGUI\fileCreatorGUI.exe 
Traceback (most recent call last): 
    File "F:\Users\_User_\python_working\fileCreatorGUI.py", line 73, in <module> 
    app = gui() 
    File "C:\Users\_User_\AppData\Local\Programs\Python\Python35\lib\site-packages\appJar\appjar.py", line 509, in __init__ 
    self.topLevel.wm_iconbitmap(self.appJarIcon) 
    File "C:\Users\_User_\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 1716, in wm_iconbitmap 
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap) 
_tkinter.TclError: bitmap "C:\temp\fileCreatorGUI\appJar\resources\icons\favicon.ico" not defined 
Failed to execute script fileCreatorGUI 

Edit 2 См ответ ниже, но я ложному дерево на этом,


Выход Pyinstaller дроссели на .dll-х:

api-ms-win-core-console-l1-1-0.dll 
api-ms-win-core-datetime-l1-1-0.dll 
(There are like ~40 of these) 

Я добавил эти .dll к пути python, я объявил их в бинарниках в файле .spec.

здесь усеченный журнал:

2414 WARNING: Can not get binary dependencies for file: C:\Windows\system32\api- 
ms-win-crt-stdio-l1-1-0.dll 
Traceback (most recent call last): 
    File "C:\Users\_USER_NAME\AppData\Local\Programs\Python\Python35-32\lib\site-pa 
ckages\PyInstaller\depend\bindepend.py", line 695, in getImports 
    return _getImports_pe(pth) 
    File "C:\Users\_USER_NAME\AppData\Local\Programs\Python\Python35-32\lib\site-pa 
ckages\PyInstaller\depend\bindepend.py", line 122, in _getImports_pe 
    dll, _ = sym.forwarder.split('.') 
TypeError: a bytes-like object is required, not 'str' 
2423 WARNING: Can not get binary dependencies for file: C:\Windows\system32\api- 
ms-win-crt-heap-l1-1-0.dll 

Я попытался исправить перечисленные здесь: https://github.com/pyinstaller/pyinstaller/pull/1981

но это не похоже, чтобы сделать разницу.

Кто-то порекомендовал добавить маршрут sys.path.insert(), но он не имеет значения в любом случае Я также пробовал это в VM с Windows 7, чистую установку, без изменений. Мой следующий шаг - попытаться использовать Wine в Debian, но я действительно не хочу идти по этому маршруту. Любая помощь будет оценена по достоинству. Спасибо

ответ

0

Оказывается, это была проблема appJar/packaging, pyinstaller не искал в правильном каталоге для активов. за dev appJar, я прокомментировал две строки кода в appJar.ру, линии 508-509:

if self.platform == self.WINDOWS: 
    self.topLevel.wm_iconbitmap(self.appJarIcon) 

Больше о специфике здесь: https://github.com/jarvisteach/appJar/issues/84 я, вероятно, может исправить это с помощью --path спор с pyinstaller, но на данный момент, этот вопрос полностью решен