【问题标题】:Scrapy project can't find django.core.managementScrapy 项目找不到 django.core.management
【发布时间】:2013-01-19 02:55:45
【问题描述】:

我正在尝试按照here 的方法从网络“Scrapy”数据,同时使用 Scrapy 的项目管道将该数据直接保存到我的 Django 数据库中。

但是,当我尝试运行 scrapy crawl spidername 时,我收到了错误:

ImportError: No module named django.core.management

起初我以为是因为我的 Scrapy 项目在我的 Django 项目文件夹之外,但即使我将整个项目移到我的 Django 项目文件夹中,我仍然遇到同样的错误。如果我在 Scrapy 项目文件夹的新位置(在我的 Django 项目文件夹中)打开一个 python shell,import django.core.management 工作正常。那到底是怎么回事?

编辑: 一些附加信息:我在 Webfaction 服务器上执行此操作,我的 Django 项目的路径是 /home/gchorn/webapps/django_app/django_project。我正在使用 Django 版本 1.4.1、Scrapy 0.16 和 Python2.7。 Django+Scrapy项目的布局如下:

django_project/
    __init__.py
    manage.py
    settings.py
    urls.py
    myproject #folder containing wsgi.py
    app1
    app2
    app3
    templates
    ScrapyProject/
        scrapy.cfg
        ScrapyProject/
            __init__.py
            items.py
            pipelines.py
            settings.py
            spiders/
                __init__.py
                my_spider.py

【问题讨论】:

  • 只是为了确认一下,您是打开一个简单的 Python 解释器还是运行“python manage.py shell”?
  • Talvalin,我只是打开一个简单的 2.7 解释器。
  • 打开shell时,是不是用的是同版本的Python(2.7)?
  • @Dana,是的,我只是输入Python2.7 来打开外壳。
  • 输入'which python'的结果是什么?

标签: django scrapy webfaction


【解决方案1】:

尝试在 Spider 的 settings.py 中进行设置:

import os
import sys

sys.path.append('/home/gchorn/webapps/django_app')

os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'

然后您可以导入您的模型类,例如:

from django_project.app1.models import some_model

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    相关资源
    最近更新 更多