使用Pyinstaller打包Scrapy项目与Gooey在M上

2024-10-04 01:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个糟糕的项目,有一个粘性的前端,我想把它打包到一个可分发的macOS中。我有一个runner.py调用点来运行爬虫程序,但为MacOs打包似乎很困难。我为windows上的PyInstaller做了一个build.spec,效果很好,但是Mac的build.spec似乎并没有打包所有的东西。它确实创建了一个可执行文件,但不起作用。 以下是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)

请告诉我我这里缺少什么。我应该添加什么使它成为一个有效的应用程序分发。在


Tags: pathpynoneoslibraryframeworkrootimages