Python Geoip2 maxminddb.reader EC2 服务器错误
Python Geoip2 maxminddb.reader error in EC2 server
您好,我遇到以下代码问题。
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
属性==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-资源==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
您好,我遇到以下代码问题。
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 属性==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-资源==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