You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法将Scrapy Spider类导入Python脚本的问题求助

解决Scrapy爬虫类导入问题

问题根源

直接运行main/main.py时,Python的模块查找路径默认不包含Scrapy项目的顶级包目录,导致无法识别whiskers或spiders模块;而scrapy crawl命令会自动加载项目配置并添加正确路径,所以爬虫能正常运行。

可行解决方案

方案1:运行时手动添加PYTHONPATH

进入包含main、spiders子包的顶级whiskers包目录(路径:/whiskers/venv/whiskers/whiskers/),执行以下命令运行main.py:

PYTHONPATH=$(pwd) python main/main.py

Windows系统执行:

set PYTHONPATH=%cd%
python main/main.py

方案2:在main.py中手动添加路径

在main/main.py最顶部添加代码,将顶级包目录加入Python的模块查找路径:

import sys
from pathlib import Path

# 获取当前脚本父级目录的父级(即顶级whiskers包所在目录)
sys.path.append(str(Path(__file__).parent.parent))

# 现在可正常导入
from spiders.src import SomeSpider
# 也可使用完整包路径
# from whiskers.spiders.src import SomeSpider

方案3:以模块方式运行main.py

回到包含顶级whiskers包的目录(路径:/whiskers/venv/whiskers/),使用-m参数以模块方式运行:

python -m whiskers.main.main

此时可使用相对导入语句:

from ..spiders.src import SomeSpider

内容的提问来源于stack exchange,提问作者SC4RECROW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:15:33