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.pyitems.pypipelines.py文件

我想这是因为我从spider1.py文件内部的items.py导入类,这导致了这个错误


有什么办法可以克服这个问题吗?

我想你要做的是:

from products_spiders.spider1 import SpiderA

对不起,我改变了对问题的描述。但是这也没用。我认为你还应该检查另一个使测试比unittest更容易的库,如果你可以切换的话。try
from.spider.spider1 import SpiderA
你能提供错误的完整回溯吗?您的代码中没有
my_import
,因此错误一定在其他文件中。