2015-10-13 2 views
0

J'essaie d'utiliser les modèles d'applications django au sein de scrapy mais continuez à obtenir l'erreur "Aucun module nommé myapp.apps.myscraping.myscraping.items" lorsque vous essayez de déployer le code scrapy à scrapyd en utilisant scrapyd-deploy. Le problème que j'ai est que j'ai divisé les paramètres comme dev, qa, production. Basé sur les différents liens, j'ai ajouté le requis dans le fichier de paramètres scrapy mais en vain.Accéder aux modèles django en scrapy avec les paramètres de split

import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 
import sys 
sys.path.append(BASE_DIR) 
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings.dev' 

J'ai aussi essayé de donner le chemin vers le dossier des paramètres mais en vain. Lorsque vous essayez la même chose sans les paramètres de fractionnement, cela fonctionne très bien. Pour ne pas mentionner que j'utilise la dernière version de scrapy et scrapy

Toutes les suggestions seraient utiles.

Structure des dossiers:

  • Projet
    • manage.py
    • myapp
      • __init__.py
      • paramètres
        • dev
        • qa
        • prod
      • applications
        • __init__.py
        • app1
          • __init__.py
          • models.py
          • views.py
        • myscraping
          • __init__.py
          • scrapy.cfg
          • myscraping
            • __init__.py
            • items.py
            • pipelines.py
            • settings.py
            • araignées
              • __init__ .py
              • DMOZ.py

Cordialement

+0

Pouvez-vous s'il vous plaît joindre votre structure de projet? Cela aidera beaucoup. – Nick

+0

Mise à jour de la requête avec structure de dossiers. –

Répondre

1

Vous manquez d'ajouter PYTHONPATH scrapy à django projet

# Setting up django's project full path. 
import sys 
sys.path.insert(0, '/home/zartch/Projects/Scrapy-Django/myweb') 

Vous ajoutez au chemin BASE_DIR (/ Project/myapp/apps/myscraping), Vous devez ajouter seulement/Projet