WSGIServerException:[Errno 8]提供了nodename或servname,或者未知

时间:2012-08-24 01:42:19

标签: python django selenium

我间歇性地收到此错误但是当它发生时,我使用Django的LiveServerTestCase进行的自动化集成测试会突然停止,引发以下错误:

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

一旦从任何给定的测试中实例化主测试类,就会发生故障(这是在创建内存数据库并加载我的灯具之后发生的。)

我的设置如下:

  • Mac OSX Snow leopard
  • Django 1.4.1
  • 虚拟环境(包含所有Python库)
  • sqlite(用于测试)用于生产的MySQL / InnoDB
  • 本地Git分行住房代码

到目前为止,只有在我办公室的局域网上进行测试时才会出现此错误。在家里,测试运行得很好但是再次测试在我的工作中运行一段时间,因此间歇性的挫折。

在故障排除的过程中,我创建了一个新的virtualenv,删除了系统范围内的所有.pyc文件,从源代码重新安装了MySQL以及所有必需的库。

如果有人遇到此错误并知道如何击败它,请分享。

由于

4 个答案:

答案 0 :(得分:9)

听起来可能是网络问题。检查您是否具有一致的Internet连接(例如,在运行测试时连续ping适当的服务器),并且您的DNS服务器始终报告结果(例如,不会随机丢弃请求或超时)。

您还可以尝试将实时服务器地址更改为直接IP地址(例如,将localhost更改为127.0.0.1),这样就不必执行地址查找。

答案 1 :(得分:3)

对我来说,在Mac OS X Yosemite上再次启用和关闭WiFi。

答案 2 :(得分:3)

我通过更改/etc/hosts中的这一行解决了这个问题:

# 127.0.0.1 localhost

127.0.0.1 localhost

我不知道为什么这条线被注释掉了。

答案 3 :(得分: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