我在 python 模块上导入类时遇到问题。
这是我的目录结构:
_wikiSpider
+scrapy.cfg
_wikiSpider
+__init__.py
+items.py
+items.pyc
+settings.py
+settings.pyc
+pipelines.py
_spiders
+__init__.py
+__init__.pyc
+articleSpider.py
+articleSpider.pyc
+items.py
代码在此行中断:
from wikiSpider.items import Article
我不确定为什么,因为类文章是在 items.py (最深文件夹)中定义的
有人可以给我一个解释吗?
原文由 Jacs 发布,翻译遵循 CC BY-SA 4.0 许可协议
和其他人一样,我没有循环引用问题。不过,我想在这里概括一下解决方案。
任何文件名冲突都可能导致这种情况。您可以有多个同名的子文件(如上)。
或者它可能是您正在使用的文件。
例如:trello.py 作为宠物项目。从 trello 导入 TrelloApi
导入引用将在导入 pip 安装包之前导入自身。尝试直接导入 trello 和引用对象将失败,并显示“NameError: name “ is not defined”