【问题标题】:Python 3.8 and Scrapy 2.4.1 "No module named <name of my project>Python 3.8 和 Scrapy 2.4.1“没有名为 <我的项目名称> 的模块
【发布时间】:2020-12-10 09:30:41
【问题描述】:

我遇到了一个无法解决的问题。我使用 scrapy (2.4.1)、python3.8.6 和 Pycharm。我的项目结构是这样的:

  • project_folder
    • scrapy_project

      • 蜘蛛

        • 初始化.py
        • my_spider.py
    • 初始化.py

    • items.py

    • 中间件.py

    • 管道.py

    • 运行.py

    • settings.py

当我使用 Run 从 Pycharm 运行我的蜘蛛时,它可以工作。 当我使用以下命令运行我的蜘蛛时:
scrapy crawl - 它有效。

但是当我从终端使用:

               python3 <path_to_the_script/my_spider.py 

有错误:

ModuleNotFoundError:没有名为“scrapy_project”的模块。

       in my_spider.py I used from scrapy_project.items import <Class_name>Item ]

我使用 print(sys.path) 来检查我的 PYTHONATHS 中的内容,并且我的目录有路径:

          /Users/user/Desktop/project_folder/scrapy_project' 

我不知道该怎么做。我想从 Pythonanywhere 中的计划启动我的蜘蛛,但是当我在那里运行我的脚本时,我遇到了同样的错误。

你们知道问题出在哪里吗?

我会感谢每一个提示。

【问题讨论】:

  • pwd 的输出是什么?如果您不在project_folder,则您在错误的文件夹中。

标签: python module scrapy relative-path absolute-path


【解决方案1】:

您需要使用 CrawlerProcess 作为常规 Python 脚本运行。

Scrapy Documentation

【讨论】:

    猜你喜欢
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    相关资源
    最近更新 更多