scrapy, 出现问题ModuleNotFoundError: No module named 'douban'


douban.py
import scrapy
import time
from ..items import DoubanSpriderItem
from scrapy import Request,Selector
class DoubanSpider(scrapy.Spider):
    name = 'douban'
    allowed_domains = ['movie.douban.com']
    start_urls = ['http://movie.douban.com/']
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.7 Safari/537.36'
    }
    url='https://movie.douban.com/top250'
    def start_requests(self):
         yield Request(self.url,headers=self.headers,callback=self.parse)
    def parse(self, response):
        item=DoubanSpriderItem()
        selector=Selector(response)
        movies=selector.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]')
        for movie in movies:
            name=movie.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[1]/a/span[1]/text()').extract()
            message=movie.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[2]/p[1]/text()').extract()
            star=movie.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[2]/div/span[2]/text()').extract()
            number=movie.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[2]/div/span[4]/text()').extract()
            quote=movie.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[2]/p[2]/span/text()').extract()
            if quote:
                quote=quote[0]
            else:
                quote=""
            item['name'] =''.join(name)
            item['movienfo']= ';'.join(message).replace(' ','').replace('\n','')
            item['star']=star[0]
            item['number']=number[1].split('人')[0]
            item['quote']=quote
            yield item
        nextpage=selector.xpath('//span[@class="prve"]/link/@href').extract()
        time.sleep(3)
        if nextpage:
            nextpage=nextpage[0]
            yield Request(self.url+str(nextpage),headers=self.headers,callback=self.parse)
items.py
import scrapy
class DoubanSpriderItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    name=scrapy.Field()
    movieinfo=scrapy.Field()
    star=scrapy.Field()
    number=scrapy.Field()
    quote=scrapy.Field()

问题

PS D:\pythonProject\douban_sprider\douban_sprider\spiders> scrapy crawl douban
Traceback (most recent call last):
  File "C:\Users\ADmin\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\ADmin\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "D:\虚拟环境\studengt_ve\Scripts\scrapy.exe\__main__.py", line 7, in <module>
  File "D:\虚拟环境\studengt_ve\lib\site-packages\scrapy\cmdline.py", line 114, in execute
    settings = get_project_settings()
  File "D:\虚拟环境\studengt_ve\lib\site-packages\scrapy\utils\project.py", line 68, in get_project_settings
    settings.setmodule(settings_module_path, priority='project')
  File "D:\虚拟环境\studengt_ve\lib\site-packages\scrapy\settings\__init__.py", line 287, in setmodule
    module = import_module(module)
  File "C:\Users\ADmin\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'douban'