我间歇性地收到此错误但是当它发生时,我使用Django的LiveServerTestCase进行的自动化集成测试会突然停止,引发以下错误:
WSGIServerException: [Errno 8] nodename nor servname provided, or not known
一旦从任何给定的测试中实例化主测试类,就会发生故障(这是在创建内存数据库并加载我的灯具之后发生的。)
我的设置如下:
到目前为止,只有在我办公室的局域网上进行测试时才会出现此错误。在家里,测试运行得很好但是再次测试在我的工作中运行一段时间,因此间歇性的挫折。
在故障排除的过程中,我创建了一个新的virtualenv,删除了系统范围内的所有.pyc文件,从源代码重新安装了MySQL以及所有必需的库。
如果有人遇到此错误并知道如何击败它,请分享。
由于
答案 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
所以我现在必须运行此命令或更改主机名:
./manage.py runserver silberpfeil-2.local:8000