将 python2 库与 python3 一起使用

Posted

技术标签:

【中文标题】将 python2 库与 python3 一起使用【英文标题】:Using a python2 library with python3 【发布时间】:2015-12-03 14:11:48 【问题描述】:

我正在使用 python3 和 geolite2,但是我发现我无法传入我想要查找的 IP 地址,并且出现以下错误。我已经尝试转换为 utf-8 和编码,但得到了同样的错误。

from geoip import geolite2

ip_address = request.access_route[0] or request.remote_addr
print(">>>", ip_address)
ip_bytes = ip_address.encode('utf-8')
loc = geolite2.lookup(ip_bytes)

loc = geolite2.lookup(ip_address.encode())

以下错误:

TypeError: 'str' does not support the buffer interface

IP 应该输入什么格式。在原始文档中,它是string

http://pythonhosted.org/python-geoip/

【问题讨论】:

【参考方案1】:

我建议尝试官方的Python geoip2 API 或python-geoip-yplan。后者是 python-geoip 的一个分支,具有更好的 Python 3 支持。

【讨论】:

以上是关于将 python2 库与 python3 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

将 Jackson JSON 库与骆驼一起使用时出现异常

Android 将 github 库与 maven 一起使用是不是安全

将任何活动指示器库与 Moya 一起使用

将公共 maven 存储库与 ivy 一起使用

是否可以将 Material UI 库与 React Native 一起使用?

将 C 库与 Cython 一起使用时出现错误