【问题标题】:WSGIServerException: [Errno 8] nodename nor servname provided, or not knownWSGIServerException: [Errno 8] nodename or servname provided, or not known
【发布时间】:2012-08-19 14:16:51
【问题描述】:

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

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

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

我的设置如下:

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

到目前为止,此错误仅在我办公室的 LAN 上进行测试时发生。在家里,测试运行良好,但在我的工作中再次测试运行良好一段时间,因此间歇性的挫败感。

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

如果有人遇到过这个错误并且知道如何解决它,请分享。

谢谢

【问题讨论】:

  • 您使用哪个实时服务器地址进行测试?

标签: python django selenium


【解决方案1】:

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

# 127.0.0.1 localhost

127.0.0.1 localhost

我不知道为什么该行被注释掉了。

【讨论】:

    【解决方案2】:

    在我的例子中,我启动了本地 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
    

    【讨论】:

      【解决方案3】:

      对我来说,再次打开和关闭 WiFi 有助于 Max OS X Yosemite。

      【讨论】:

        【解决方案4】:

        听起来可能是网络问题。检查您是否有一致的互联网连接(例如,通过在运行测试时不断 ping 适当的服务器),以及您的 DNS 服务器是否始终如一地报告结果(例如,没有随机丢弃请求或超时)。

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

        【讨论】:

        • 感谢您为我指明正确的方向。都是我的错。我错误地删除了主机文件中本地主机 IP 的最后一个小数。立即备份并运行。谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-09
        • 2020-12-11
        • 2012-11-06
        • 2018-03-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多