首页 > 解决方案 > 打包成.exe文件后,scrapy项目中没有名为“XXX.pipeline”的模块错误

问题描述

它是一个基于 PyQt5 和 Scrapy 的项目。在使用 Pyinstaller 打包之前可以正常使用。打包我的项目后,日志将在

    2021-09-14 23:58:10 [scrapy.middleware] INFO: Enabled spider middlewares:
['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',
 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware',
 'scrapy.spidermiddlewares.referer.RefererMiddleware',
 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',
 'scrapy.spidermiddlewares.depth.DepthMiddleware']

在我调用 scrapy.cmdline.execute 函数 3 次后,错误显示为,

 2021-09-15 00:01:01 [twisted] CRITICAL:
Traceback (most recent call last):
  File "twisted\internet\defer.py", line 1445, in _inlineCallbacks
  File "scrapy\crawler.py", line 87, in crawl
  File "scrapy\crawler.py", line 101, in _create_engine
  File "scrapy\core\engine.py", line 70, in __init__
  File "scrapy\core\scraper.py", line 71, in __init__
  File "scrapy\middleware.py", line 53, in from_crawler
  File "scrapy\middleware.py", line 34, in from_settings
  File "scrapy\utils\misc.py", line 61, in load_object
  File "importlib\__init__.py", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mycrawler.pipelines'

它告诉我问题在于模块的导入。但他的困难在于,有问题的代码在 Scrapy 的源代码中。那么如何解决这个BUG呢?

标签: pythonmodulescrapy

解决方案


推荐阅读