Python Scrapy ModuleNotFoundError:没有名为“的模块”;进口;
我有下一个目录结构:Python Scrapy ModuleNotFoundError:没有名为“的模块”;进口;,python,scrapy,Python,Scrapy,我有下一个目录结构: . ├── README.md ├── my_import │ ├── __init__.py │ ├── items.py │ ├── middlewares.py │ ├── pipelines.py │ ├── spiders │ │ ├── __init__.py │ │ ├── spider1.py │ │ ├── spider2.py │ │ ├── spider3.py │ ├── settings.py
.
├── README.md
├── my_import
│ ├── __init__.py
│ ├── items.py
│ ├── middlewares.py
│ ├── pipelines.py
│ ├── spiders
│ │ ├── __init__.py
│ │ ├── spider1.py
│ │ ├── spider2.py
│ │ ├── spider3.py
│ ├── settings.py
│ ├── test.py
├── requirements.txt
├── scrapy.cfg
我想用unittests测试spider1的一种方法
test.py
import unittest
from spiders.spider1 import SpiderA
class TestResult(unittest.TestCase):
def test_return(self):
string1 = '1'
string2 = '1st'
item = SpiderA()
self.assertEqual(item.get_result(string1), string1)
if __name__ == '__main__':
unittest.main()
但我收到了错误:
ModuleNotFoundError:没有名为“我的导入”的模块
但是,我可以导入test.py文件中的settings.py、items.py、pipelines.py文件
我想这是因为我从spider1.py文件内部的items.py导入类,这导致了这个错误
有什么办法可以克服这个问题吗?我想你要做的是:
from products_spiders.spider1 import SpiderA
对不起,我改变了对问题的描述。但是这也没用。我认为你还应该检查另一个使测试比unittest更容易的库,如果你可以切换的话。try
from.spider.spider1 import SpiderA
你能提供错误的完整回溯吗?您的代码中没有my_import
,因此错误一定在其他文件中。