use*_*677 0 python geoip geolite2
我能够使geolite2在python2.7上工作-但我需要3.4。我在以下链接上找到了2.7的说明:http : //pythonhosted.org/python-geoip/。还提供了代码片段。
pip install python-geoip
pip install python-geoip-geolite2
>>> from geoip import geolite2
>>> match = geolite2.lookup('17.0.0.1')
>>> match is not None
True
Run Code Online (Sandbox Code Playgroud)
因此,我自然将所有pip更改为pip3并安装在新的VM上。代码上没有错误,但是不会从其数据库中拾取并返回值。
pip3 install python-geoip
pip3 install python-geoip-geolite2
Run Code Online (Sandbox Code Playgroud)
在2.7 VM中,当我使用3.4时,我将geoip库指向/usr/local/lib/python2.7/dist-packages-也没有运气。但是,它可以在同一VM上的2.7上运行。
我需要做什么才能使其在3.4上运行?
小智 7
安装:
apt install python3-pip
pip3 install maxminddb
pip3 install maxminddb-geolite2
Run Code Online (Sandbox Code Playgroud)
使用示例:
#!/usr/bin/python3
# coding=utf-8
from geolite2 import geolite2
reader = geolite2.reader()
# google's ip
match = reader.get('172.217.16.163')
if match:
# print(match)
if 'country' in match:
print(match['country']['iso_code'])
else:
print(match['continent']['code'])
else:
print('')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4084 次 |
| 最近记录: |