2013-02-04 73 views
2

我试图按照方法here从网络'Scrapy'的数据,同时使用Scrapy的项目管道将数据直接保存到我的Django数据库。Scrapy项目找不到django.core.management

然而,当我尝试运行scrapy crawl spidername,我得到的错误:

ImportError: No module named django.core.management

起初我还以为是因为我的Scrapy项目是我的Django项目文件夹之外,但即使我将整个项目移到我的Django项目文件夹中,我一直得到相同的错误。如果我在Scrapy项目文件夹中的新位置(在我的Django项目文件夹内)中打开python shell,import django.core.management工作正常。发生什么了?

编辑:一些额外的信息:我在Web服务器上这样做,我的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 
+0

只需确认,你打开一个简单的Python解释器还是运行“python manage.py shell”? – Talvalin

+0

Talvalin,我只是打开一个简单的2.7口译员。 – GChorn

+0

当你打开shell时,是否使用相同版本的Python(2.7)? – SaiyanGirl

回答

0

尝试在你的蜘蛛的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