Не удается связать все файлы в pyinstaller

извините, я знаю, что это, вероятно, вопрос нуба, но я хорошо знаком с Python, но не с какими-либо методами распространения. Я пытаюсь упаковать/создать исполняемый файл для созданной мной программы на Python, которая подключается к SSH-серверу и загружает некоторые файлы. Разрабатываю в Ubuntu, но планирую подарить друзьям, использующим windows.

Итак, поехали.

Я использую модули: os, sys, platform, tkMessageBox, webbrowser, re, Tkinter, tkFileDialog и paramiko.

В моем каталоге под названием App у меня есть следующие файлы: text1.txt, text2.txt, text3.txt, app.py, script.sh и все модули.

После запуска python pyinstaller.py app.py вот как выглядит мой файл спецификации

# -*- mode: python -*-  
a = Analysis(['app.py'],  
             pathex=['C:\\Users\\Ben\\pyinstaller\\pyinstaller-2.0'],  
             hiddenimports=[],  
             hookspath=None)  
pyz = PYZ(a.pure)  
exe = EXE(pyz,  
          a.scripts,  
          exclude_binaries=1,  
          name=os.path.join('build\\pyi.win32\\app', 'app.exe'),  
          debug=False,  
          strip=None,  
          upx=True,  
          console=False )  
coll = COLLECT(exe,  
               a.binaries,  
               a.zipfiles,  
               a.datas,  
               strip=None,  
               upx=True,  
               name=os.path.join('dist', 'app'))  
app = BUNDLE(coll,  
             name=os.path.join('dist', 'app.app'))

I was just wondering how do I get all my files to get linked into the exe. Because it runs the gui, but non of the functionality works. Should I zip all the files at the end and distribute that?? I'm new to the whole distribution thing.


person the-ben-waters    schedule 26.11.2012    source источник


Ответы (1)


Попробуйте добавить эту строку после строки a.scripts,

Tree('your\\path\\here'),

Я знаю, что это работает, если создается один исполняемый файл. Хотя насчет других не уверен. Убедитесь, что в качестве пути указан путь к папке со всеми текстовыми файлами, а не к самим текстовым файлам.

person maciozo    schedule 27.11.2012
comment
Ах, хорошо, да, я просто хочу один исполняемый файл. Позвольте мне попробовать - person the-ben-waters; 28.11.2012
comment
Если вы хотите создать 1 исполняемый файл, попробуйте что-то вроде это - person maciozo; 28.11.2012