使用pyinstaller打包使用scrapy模塊的程序運行時出現No such file or directory的問題解決


解決的方案是利用pyinstaller的hook特性,步驟如下:

1.在項目目錄新建hooks目錄,目錄中新建hooks-scrapy.py 文件,文件內容如下:

from PyInstaller.utils.hooks import collect_submodules, collect_data_files

# This collects all dynamically imported scrapy modules and data files.
hiddenimports = (collect_submodules('scrapy') +
                 collect_submodules('scrapy.pipelines') +
                 collect_submodules('scrapy.extensions') +
                 collect_submodules('scrapy.utils')
)
datas = collect_data_files('scrapy')

 

2. pyinstaller在打包過程中會生成 *.spec 文件,假設該文件名為scrapytest.spec,修改該文件,令 hookspath=['.\\hooks\\']。

3.基於spec文件重新打包,示例命令如下:

pyinstaller -F scrapytest.spec

 

經測試,以上方法可解決 No such file  or directory 的問題。

參考鏈接:https://stackoverflow.com/questions/49085970/no-such-file-or-directory-error-using-pyinstaller-and-scrapy


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM