2

我正在尝试打包一个网络抓取脚本(使用 scrapy 构建)作为独立应用程序运行,供我的老板使用。我使用 Tkinter 构建了一个小型桌面 GUI,它通过 os.system 调用调用我的 Scrapy 蜘蛛。

我当前的构建实现(使用 cx_Freeze)如下。它成功地将我的程序打包成一个可以在我的机器上正常运行的 .exe。但是,当我尝试将它移植到另一台 Windows 机器并运行它时,GUI 可以工作,但系统调用却不能。我认为这是因为我目前的方法需要在该机器上安装scrapy,因为它使用系统调用,但我真的不知道如何解决这个问题。使用 scrapy.cmdline 中的执行是否会有更多的运气?当我这样做时,我会收到有关 scrapystats 的构建错误。或者我应该尝试使用win2exe打包它?

谢谢你的帮助!

from cx_Freeze import setup, Executable

includes = ['scrapy', 'Tkinter', 'pkg_resources', 'lxml.etree', 'lxml._elementpath']

build_options = {
                'compressed' : True,
                'optimize' : 2,
                'namespace_packages' : ['zope', 'scrapy','Tkinter', 'pkg_resources'],
                'includes' : includes,
                'excludes' : []
                }

executable = Executable(
                        script='main.py',
                        copyDependentFiles=True,
                        includes=includes
                        )

setup(name='Inventory Scraper',
      version='0.1',
      description='Scrapes wine inventories!',
      options= {'build_exe': build_options},
      executables=[executable])
4

0 回答 0