2012-08-24 52 views
7

我間歇性地收到此錯誤,但是當它發生時使用Django的LiveServerTestCase我的自動化集成測試來個急剎車拋出以下錯誤:WSGIServerException:[錯誤8]節點名,也不servname提供,或者不知道

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

一旦主測試類從任何給定的測試實例化(這發生在創建內存數據庫並裝載了我的設備之後),就會失敗。

我的設置如下:

  • 的Mac OSX雪豹
  • 的Django 1.4.1
  • 虛擬環境(住房所有的Python庫)
  • 源碼(測試)的MySQL/InnoDB的對生產
  • 本地Git分支機構代碼

到目前爲止,只有在我的局域網上測試時出現此錯誤。在家裏,測試運行得很好,但再次測試在我的工作中運行良好,因此間歇性的失望。

在解決問題的過程中,我創建了一個新的virtualenv,全部刪除了所有.pyc文件,從源代碼以及所有必需的庫中重新安裝了MySQL。

如果有人遇到此錯誤並知道如何擊敗它,請分享。

謝謝

+0

你使用哪個活的服務器地址進行測試? – nneonneo

回答

7

聽起來像它可能是一個網絡問題。檢查您是否具有一致的互聯網連接(例如,在您運行測試時持續ping適當的服務器),並且您的DNS服務器始終如一地報告結果(例如,不會隨機丟棄請求或超時)。

您也可以嘗試將實時服務器地址更改爲直接IP地址(例如將localhost更改爲127.0.0.1),以便它不必執行地址查找。

+0

感謝您指點我正確的方向。這是我的錯。我錯誤地從主機文件中刪除了本地主機IP中的最後一位小數。現在備份並運行。謝謝! – frozenpaw

0

在我的情況,我開始在本地Django的服務器:

./manage.py runserver silberpfeil.local:8000 

,幾秒鐘後,我得到了錯誤:「共享點」下

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

在設置我看到Mac OS X似乎已將計算機名稱更改爲silberpfeil-2.local

enter image description here

所以我現在運行此命令或更改主機名:

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

對我來說,開啓WiFi和再次關閉幫助在Max OS X的優勝美地。

3

我改變此行/etc/hosts解決了這個問題:

# 127.0.0.1 localhost

127.0.0.1 localhost

我不知道爲什麼線路被註釋掉。

相關問題