关于pycharm导入scrapy项目的问题

本文详细介绍了在PyCharm中导入Scrapy项目时遇到的模块找不到问题,包括如何设置Source Root以及在命令行运行时的解决策略。通过Make Directory as Source Root、调整导入路径和使用python -m命令来避免'NO Module named'错误。对于Python 3.x版本中二级目录运行.py文件的问题,提出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导入过程中出现的问题,网上找的解决办法并不能解决初学者的需求,因为这个问题我找了半天,结合各位大佬的博客,最终做一个整合 :

1、导入包的问题,如下面的情况,我想把scrapy目录下的items.py里面的Class导入时出现的问题。
项目目录
这里写图片描述

items.py
这里写图片描述

问题
这里写图片描述

解决办法
第一步:项目文件下右键–Make Directory as–Source Root
这里写图片描述
这样子可以保证
from items import WebcrawlerScrapyItem
在项目中没有错误。
但是,实际上命令行运行scrapy crawl 时还是会报NO Moudle name “items”的问题

第二步:
from items import WebcrawlerScrapyItem改为
from ..items import WebcrawlerScrapyItem

“..”表示在上一级目录下找
最终的效果如下:
这里写图片描述

第三步:
1、运行scrapy crawl [爬虫名称] 命令,就没问题了
2、最近遇到的问题,在二级目录下运行一个.py文件,但是用”..”和 Mark as Source Root 等方法都没有用,这是python3.0以上出现的问题,可以采用以下的办法解决:
假设我要运行下面的pictureSpider_demo.py文件
这里写图片描述

请在命令行下的执行
python -m webCrawler_scrapy.spiders.pictureSpider_demo.py
这样就行了,否则还是会报pakage out of top level这样的错误

还有一个很有效的办法就是
在需要彼此获取相关类的两个.py文件分别加入以下

import sys
sys.path.append("..")

然后就没问题了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值