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
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
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:
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:
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:
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:
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:
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!
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
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.
Tags und Links python django environment-variables scrapy