Kann weder Scrapys Einstellungsmodul noch seine scrapy.cfg importieren

8

Das ist ein ziemlich langer Post, aber nach umfangreicher Recherche konnte ich keine Lösung finden. Ich habe ein gemischtes Django 1.4.1 / Scrapy 0.14.4 Projekt auf OSX 10.8 und ich kontrolliere Scrapy mit dem manage.py Befehl des Django Projekts wie beschrieben hier . Rufen Sie beispielsweise

auf %Vor%

funktioniert ohne Probleme. Jetzt bin ich an dem Punkt, wo ich den Web-Service scrapyd einrichten möchte, um meine Spider bereitzustellen. Wenn ich jedoch

ausführe %Vor%

Dann bekomme ich diese Ausnahme:

%Vor%

Scrapy kann also die Datei scrapy.cfg nicht finden, weil ich sie nicht innerhalb des Scrapy-Projekts ausführe. Die anderen Scrapy-Befehle funktionieren jedoch, weil ich in meinem Django-Projekt settings.py folgendes gemacht habe:

%Vor%

Frage 1: Warum kann Scrapy die Datei scrapy.cfg in meinem Setup nicht erkennen? Wie kann ich das beheben?

Da die oben genannten Dinge nicht funktionieren, habe ich versucht, den scrapyd -Server mit dem Befehl scrapy in meinem Scrapy-Projektverzeichnis laufen zu lassen. Das Ausführen von scrapy server aus dem Top-Level-Verzeichnis meines Scrapy-Projekts ergibt Folgendes:

%Vor%

Der Server läuft ohne Probleme, die settings.py Datei meines Scrapy-Projekts kann jedoch nicht gefunden werden, da die entsprechende Umgebungsvariable nicht mehr gesetzt ist. Deshalb mache ich folgendes in meinem Terminal:

%Vor%

Leider haben diese beiden Befehle keine Wirkung. Immer wenn ich scrapy server (oder einen anderen Scrapy-Befehl) ausführe, erhalte ich die Meldung, dass Scrapy das Einstellungsmodul des Projekts nicht importieren kann.

Mein scrapy.cfg hat momentan nur folgenden Inhalt:

%Vor%

Wenn ich versuche, mein Scrapy-Projekt auf dem Server scrapyd zu installieren, scheint es zunächst zu funktionieren, aber dann habe ich festgestellt, dass keine der Spider hochgeladen wurde, wahrscheinlich weil die Einstellungsdatei nicht gefunden wurde. Hier ist die Konsolenausgabe:

%Vor%

Frage 2: Wie führe ich den korrekten Export der obigen Pfad- und Umgebungsvariablen durch, damit diese Warnung verschwindet?

Frage 3: Wie funktioniert der Server scrapyd ? Wie kann ich meine Spider korrekt hochladen?

Vielen Dank im Voraus!

    
pemistahl 31.08.2012, 20:14
quelle

2 Antworten

2

Es gibt 3 Links innerhalb des Wikis von scrapy :

der erste und zweite behandeln beide die Probleme mit django und scrapy widersprüchlichen Einstellungen.

hoffe das hilft ...

sogar diese Frage zu SO adressiert viele der Einstellungs-Probleme zwischen Django und Scrapy

    
ralf.w. 10.09.2012, 18:39
quelle
2

Wenn Sie sich den Codezweig ansehen, der diese Ausnahme auslöst und die Definition der closest_scrapy_cfg Funktion , die sie aufruft nur Platz scrapy sucht nach Ihrer scrapy.cfg ist in dem Verzeichnis, in dem Sie den Befehl ausführen und von jedem übergeordneten Verzeichnis. Sie können möglicherweise os.chdir in Ihrem manage.py ausführen oder Ihre scrapy.cfg in das Verzeichnis verschieben, von dem aus Sie laufen.

    
Mu Mind 11.09.2012 06:22
quelle