attempted relative import beyond top-level package和
ModuleNotFoundError: No module named 'UnsplashImageSpider'错误
要在unsplash_image.py导入items.py模块,使用
from UnsplashImageSpider.items import ImageItem
这种方法是不行的,折腾了我半天事时间,
解决方法是:被导入的模块不动,unsplash_image.py模块顶部加这几行代码就可以了,
import sys
sys.path.append("../")
或者
import sys
sys.path.append("../")
加不加最后的斜杠都行。
然后:
from UnsplashImageSpider.items import ImageItem
这是在pycharm里测试可以,但是在vscode里不行,不过项目可以运行,不知道是不是vscode问题。
我的是python3.7.4,相信其他版本也差不多这样解决,加油,各位!
补充:当文件头部是这样的时候:
import sys
sys.path.append("../")
import json
import scrapy
from UnsplashimageSpider.items import ImageItem
在pycharm里可以运行,在vscode里不行,但是用命令行可以正常跑起来
当文件头部是这样的时候:
import sys
sys.path.append(r"C:\Users\xxf\UnsplashimageSpider\UnsplashimageSpider")
import json
import scrapy
from items import ImageItem
在pycharm里和vscode里都行,用命令行可以正常跑起来
注意:路径开头有 r ,且路径为你要引入的模块在你磁盘上所在的包,这里我引入UnsplashimageSpider包下的items.py模块,路径为下图所示:
最后请问下:是不是vscode不 “建议” 在from … import …语法里含有包名?或者说是我安装了某些插件导致??