我正在尝试打包网页抓取脚本(使用scrapy构建)作为独立应用程序运行,供我的老板使用。我使用Tkinter构建了一个小型桌面GUI,通过os.system调用调用我的Scrapy蜘蛛。
我当前的构建实现(使用cx_Freeze)如下所示。它成功地将我的程序打包成一个在我的机器上正常工作的.exe。但是,当我尝试将其移植到另一台Windows机器并运行它时,GUI工作但系统调用没有。我认为这是因为我目前的方法需要在该机器上安装scrapy它使用系统调用,但我真的不知道如何解决这个问题。使用scrapy.cmdline中的execute会有更多的运气吗?当我这样做时,我得到关于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])