2012-08-24 4 views
7

Ich erhalte diesen Fehler mit Unterbrechungen, aber wenn es passiert, meine automatisierten Integrationstests Djangos LiveServerTestCase mit kommen zum Stillstand, werden folgende Fehler werfen:WSGIServerException: [Errno 8] nodename noch servname zur Verfügung gestellt, oder nicht bekannt

WSGIServerException: [Errno 8] nodename nor servname provided, or not known 

Der Fehler tritt auf, sobald die Haupttestklasse von einem gegebenen Test instanziiert wird (dies geschieht, nachdem die In-Memory-Datenbank erstellt wurde und meine Fixtures geladen sind).

Mein Setup ist wie folgt:

  • Mac OSX Schnee
  • Django 1.4.1
  • virtuelle Umgebung (Gehäuse alle Python-Bibliotheken)
  • SQLite (zum Testen) Leopard MySQL/InnoDB für Produktion
  • Lokale Git Zweige Gehäuse Code

Dieser Fehler tritt bisher nur beim Testen in unserem LAN in meinem Büro auf. Zu Hause laufen die Tests gut, aber dann laufen die Tests bei meiner Arbeit eine Zeitlang gut, daher die zeitweilige Frustration.

Im Sinne der Fehlersuche habe ich eine neue virtualenv erstellt, entfernt alle .pyc-Dateien systemweit, neu installiert MySQL aus der Quelle sowie alle erforderlichen Bibliotheken.

Wenn jemand auf diesen Fehler gestoßen ist und weiß, wie man ihn schlägt, bitte teilen.

Danke

+0

Welche Live-Server-Adresse verwenden Sie zum Testen? – nneonneo

Antwort

7

Klingt, als könnte es ein Netzwerkproblem sein. Stellen Sie sicher, dass Sie über eine konsistente Internetverbindung verfügen (z. B. indem Sie während der Tests kontinuierlich einen geeigneten Server anpingen), und dass der DNS-Server regelmäßig Ergebnisse meldet (z. B. keine zufälligen Löschungen oder Zeitlimitüberschreitungen).

Sie können auch versuchen, die Adresse des Live-Servers in eine direkte IP-Adresse zu ändern (z. B. localhost in 127.0.0.1 ändern), so dass keine Adresssuche durchgeführt werden muss.

./manage.py runserver silberpfeil.local:8000 

und nach ein paar Sekunden habe ich den Fehler:

+0

Danke, dass Sie mich in die richtige Richtung weisen. Die Schuld lag ganz bei mir. Ich löschte fälschlicherweise die letzte Dezimalzahl von meiner Localhost IP in meiner Hosts-Datei. Jetzt sichern und ausführen. Vielen Dank! – frozenpaw

0

In meinem Fall habe ich den lokalen Django-Server mit gestartet

Error: [Errno 8] nodename nor servname provided, or not known 

In den Einstellungen unter „Teilen Punkte“ Ich sah, dass Mac OS X scheint irgendwie den Computernamen in silberpfeil-2.local geändert zu haben

enter image description here

Also muss ich jetzt diesen Befehl ausführen oder den Hostnamen ändern:

./manage.py runserver silberpfeil-2.local:8000 
3

Für mich auf WiFi Ein- und Ausschalten wieder half auf Max OS X Yosemite.

3

Ich löste dieses Problem, indem Sie diese Zeile in /etc/hosts Wechsel:

# 127.0.0.1 localhost

zu

127.0.0.1 localhost

Ich weiß nicht, warum die Linie heraus wurde kommentiert.

Verwandte Themen