Включение каталога с помощью Pyinstaller

Вся документация для Pyinstaller говорит о включении отдельных файлов. Можно ли включить каталог или написать функцию для создания массива include путем перемещения моего каталога include?

3 Solutions collect form web for “Включение каталога с помощью Pyinstaller”

Я удивлен, что никто не упомянул официальный поддерживаемый вариант, используя Tree() :

https://stackoverflow.com/a/20677118/2230844

https://pythonhosted.org/PyInstaller/advanced-topics.html#the-toc-and-tree-classes

Вставьте следующее после a = Analysis() в спецификационном файле, чтобы рекурсивно перемещаться по каталогу и добавлять все файлы в него в дистрибутив.

 ##### include mydir in distribution ####### def extra_datas(mydir): def rec_glob(p, files): import os import glob for d in glob.glob(p): if os.path.isfile(d): files.append(d) rec_glob("%s/*" % d, files) files = [] rec_glob("%s/*" % mydir, files) extra_datas = [] for f in files: extra_datas.append((f, f, 'DATA')) return extra_datas ########################################### # append the 'data' dir a.datas += extra_datas('data') 

Как насчет использования glob ?

 from glob import glob datas = [] datas += glob('/path/to/filedir/*') datas += glob('/path/to/textdir/*.txt') ... a.datas = datas 
  • Невозможно сделать автономный паук для бинарных скрипов с помощью cx_Freeze
  • Что лучше - PyInstaller или cx_Freeze?
  • Python: ImportError из скомпилированного исходного кода
  • py2exe / pyinstaller и DispatchWithEvents
  • Всесторонний учебник по Pyinstaller?
  • Pyinstaller: изображения не извлекаются
  • Не удается заставить pysnmp работать с pyinstaller
  • pyinstaller: выполняется 2 экземпляра моего приложения cherrypy app exe
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.