gpt4 book ai didi

python - Python 中的 geolite2 函数中的 TypeError : a bytes-like object is required, 不是 'str'

转载 作者:行者123 更新时间:2023-12-03 21:20:13 31 4
gpt4 key购买 nike

我有一个程序显示属于 IP 地址的国家/地区。它在 python 2.7 版本中工作正常。问题是当我在 python 3.5 版本中尝试相同的程序时,它会引发如下所述的错误:

代码:

from geoip import geolite2

m = geolite2.lookup('17.0.0.1')

错误:
TypeError: a bytes-like object is required, not 'str'

我该如何解决错误?

提前致谢

最佳答案

上面的答案对于为 Python3 安装正确的包是正确的。要强制安装 Python3,请使用:
python3 -m pip install python-geoip-python3
但是,要从 geoip 的全部功能中受益,您也可以考虑另外下载 geolite2 它还附带了 IP 数据库:
python3 -m pip install python-geoip-geolite2
要检查它是否适合您:

  • 以交互模式运行python3
  • 运行以下:
  • >>> from geoip import geolite2
    >>> geolite2.lookup('8.8.8.8')

    你应该得到这样的东西
    <IPInfo ip='8.8.8.8' country='US' continent='NA' subdivisions=frozenset({'CA'}) ...

    关于python - Python 中的 geolite2 函数中的 TypeError : a bytes-like object is required, 不是 'str',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54940411/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com