用pyinstaller 打包 scrapy 时 可能会遇到 ‘OSError: could not get source code’ 这样的错误,
这是因为你的爬虫文件中使用了yield。
而较高版本的scrapy在打包exe时,如果文件中有yield方法,会报错:scrapy OSError: could not get source code
具体解决方法:
导入这两个库:
import scrapy.utils.misc
import scrapy.core.scraper
然后定义:
def warn_on_generator_with_return_value_stub(spider, callable):
pass
最后这两段代码,不管放在哪里,只要运行就好:
scrapy.utils.misc.warn_on_generator_with_return_value = warn_on_generator_with_return_value_stub
scrapy.core.scraper.warn_on_generator_with_return_value = warn_on_generator_with_return_value_stub
原文章链接:python - Scrapy Pyinstaller OSError:无法获取源代码/twisted.internet.defer._DefGen_Return - Stack Overflow