【问题标题】:gethostbyaddr() raises UnicodeDecodeError in Python 3 [duplicate]gethostbyaddr() 在 Python 3 中引发 UnicodeDecodeError [重复]
【发布时间】:2014-11-14 22:05:12
【问题描述】:

我正在尝试使用 Python 3.4.1 构建一个 Django 项目。 manage.py runserver 引发 UnicodeDecodeException。

如何解决?请参阅以下(修剪后的)回溯:

Traceback (most recent call last):
  File "C:\Python34\lib\socketserver.py", line 429, in __init__
    self.server_bind()
  File "C:\Python34\lib\site-packages\django\core\servers\basehttp.py", line 121
, in server_bind
    super(WSGIServer, self).server_bind()
  File "C:\Python34\lib\wsgiref\simple_server.py", line 50, in server_bind
    HTTPServer.server_bind(self)
  File "C:\Python34\lib\http\server.py", line 135, in server_bind
    self.server_name = socket.getfqdn(host)
  File "C:\Python34\lib\socket.py", line 460, in getfqdn
    hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 12: invalid
 continuation byte

根据请求,我的主机名:

C:\Users\AnatoliyVik>hostname
AnatoliyVik-ПК

【问题讨论】:

  • 请检查您的主机名好吗?在控制台上输入hostname 并将其添加到问题中。
  • 你试过用 Python 2.7 代替吗?
  • 我认为 JetBrains/PyCharm 与 Django 1.7 不兼容 - 缺少一些命令,例如 migrate、makemigrations。尝试通过命令行生成项目,稍后将其导入 PyCharm
  • 答案不应该被编辑到问题中——它们应该被添加作为答案,并被投票/接受。同样,如果更新问题以响应 cmets,请确保问题本身保持可读性,而无需阅读 cmets 即可理解。如果您想对评论做出更短的回复,只需将其添加为评论本身即可。

标签: python django


【解决方案1】:

将主机名更改为不再包含西里尔符号可以解决问题。

感谢@Lafada 的指导。

【讨论】:

  • 那么解决方案是更改主机名,还是您找到了替代解决方法,允许代码使用非 UTF-8 主机名?
  • 我刚刚改了主机名
猜你喜欢
  • 2011-10-14
  • 2018-02-21
  • 2017-05-03
  • 1970-01-01
  • 2017-07-26
  • 2013-10-11
  • 1970-01-01
  • 2014-07-18
  • 2016-02-20
相关资源
最近更新 更多