上司が使用するスタンドアロン アプリケーションとして実行する Web スクレイピング スクリプト (scrapy を使用して作成) をパッケージ化しようとしています。os.system 呼び出しを介して Scrapy スパイダーを呼び出す Tkinter を使用して、小さなデスクトップ GUI を作成しました。
私の現在のビルド実装 (cx_Freeze を使用) は以下のとおりです。私のプログラムは、私のマシンで正しく動作する .exe に正常にパッケージ化されます。ただし、別の Windows マシンに移植して実行しようとすると、GUI は機能しますが、システム コールは機能しません。これは、私の現在のアプローチでは、システムコールを使用するそのマシンにスクレイピーをインストールする必要があるためだと思いますが、それを回避する方法が本当にわかりません。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])