原文:https://blog.csdn.net/Haihao_micro/article/details/78529370
导入过程中出现的问题,网上找的解决办法并不能解决初学者的需求,因为这个问题我找了半天,结合各位大佬的博客,最终做一个整合 :
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
2
然后就没问题了