Использование Pyinstaller для упаковки проекта Scrapy с Gooey в Mac OS - PullRequest
0 голосов
/ 21 января 2019

У меня есть проект Scrapy с интерфейсом Gooey, и я хочу упаковать его в дистрибутив для macOS. У меня есть точка вызова runner.py для запуска сканера, но упаковка его для MacOs кажется сложной. Я сделал build.spec для PyInstaller на Windows (, который прекрасно работает ), но build.spec для Mac, похоже, не упаковывает все. Он создает исполняемый файл, но не работает. Вот файл spec:

import gooey
gooey_root = os.path.dirname(gooey.__file__)
gooey_languages = Tree(os.path.join(gooey_root, 'languages'), prefix = 'gooey/languages')
gooey_images = Tree(os.path.join(gooey_root, 'images'), prefix = 'gooey/images')
a = Analysis(scripts=['runner.py'],
             pathex=['/Library/Frameworks/Python.framework/Versions/2.7/bin', '/Library/Frameworks/Python.framework/Versions/2.7/lib'],
             binaries=[('/System/Library/Frameworks/Tk.framework/Tk', 'tk'),
               ('/System/Library/Frameworks/Tcl.framework/Tcl', 'tcl')],
             hiddenimports=['SearchEngineScrapy.spiders.searchenginespider'],
             hookspath=['hooks/'],
             runtime_hooks=[],
             excludes=[],
             datas=[('SearchEngineScrapy/spiders','./spiders'), ('SearchEngineScrapy/utils','./utils'),
                    ('SearchEngineScrapy/settings.py','./settings.py'), ('SearchEngineScrapy/items.py','./items.py'),
                    ('SearchEngineScrapy/middlewares.py','./middlewares.py'), ('SearchEngineScrapy/pipelines.py','./pipelines.py'),
                    ('scrapy.cfg','.')
                   ]
             )
pyz = PYZ(a.pure, a.binaries, a.zipped_data)

options = [('u', None, 'OPTION'), ('v', None, 'OPTION'), ('w', None, 'OPTION')]

exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          options,
          gooey_languages, # Add them in to collected files
          gooey_images, # Same here.
          name='SearchEngineScrapy',
          debug=True,
          strip=None,
          upx=False,
          console=False,
          windowed=True)

Пожалуйста, дайте мне знать, что мне здесь не хватает. Что я должен добавить, чтобы сделать его рабочим дистрибутивом приложения.

...