EC2服务器中的Python Geoip2 maxminddb.reader错误

如何解决EC2服务器中的Python Geoip2 maxminddb.reader错误

嗨,我遇到了以下代码的问题。

PS:它可以在我的本地计算机上正常工作,但面临服务器中的问题。

import geoip2.database

def get_geo_city_from_ip(ip="103.148.20.109"):

    try:
        reader = geoip2.database.Reader('GeoLite2-City.mmdb')
        response = reader.city(ip)
        city=response.city.name
        reader.close()
        return city
    except Exception as e:
        return None
a = get_geo_city_from_ip()
print("City ####",a)

错误

Traceback (most recent call last):
  File "test.py",line 2,in <module>
    import geoip2.database
  File "/var/www/html/geo/test/lib/python3.5/site-packages/geoip2/database.py",line 10,in <module>
    import maxminddb
  File "/var/www/html/geo/test/lib/python3.5/site-packages/maxminddb/__init__.py",line 5,in <module>
    import maxminddb.reader
  File "/var/www/html/geo/test/lib/python3.5/site-packages/maxminddb/reader.py",line 36
    _buffer: Union[bytes,filebuffer,"mmap.mmap"]
           ^
SyntaxError: invalid Syntax

软件包和版本 的Python 3.5.2 aiohttp == 3.6.2 异步超时== 3.0.1 attrs == 20.2.0 证书== 2020.6.20 chardet == 3.0.4 geoip2 == 4.0.2 idna == 2.10 idna-ssl == 1.1.0 maxminddb == 2.0.2 multidict == 4.7.6 pkg-resources == 0.0.0 要求== 2.24.0 simplegeoip2 == 1.0.2 键入扩展名== 3.7.4.3 urllib3 == 1.25.10 yarl == 1.5.1

解决方法

您是否在本地计算机上使用python 3.7 +?

在python 3.5中不支持注释var类型。

类似错误排除信息。

 _buffer: Union[bytes,FileBuffer,"mmap.mmap"]

在您的ec2服务器中使用python 3.7+,一切正常。

,

在我更改了 geoip2 == 2.9.0 maxminddb == 1.4.1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?