python-geoip (1.2)
python 3.6.9
Reproduce:
from geoip import geolite2
match = geolite2.lookup('8.8.8.8')
Output:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 364, in lookup
return self._get_actual_db().lookup(ip_addr)
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 350, in _get_actual_db
rv = self._load_database()
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 342, in _load_database
return mod.loader(self, sys.modules[__name__])
File "/usr/local/lib/python3.6/dist-packages/_geoip_geolite2/__init__.py", line 9, in loader
return mod.open_database(filename)
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 508, in open_database
md = _read_mmdb_metadata(buf)
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 382, in _read_mmdb_metadata
buf.size() - MMDB_METADATA_BLOCK_MAX_SIZE)
TypeError: a bytes-like object is required, not 'str'
The same issue happens using a self-provided latest DB:
from geoip import open_database
db = open_database('GeoLite2-City.mmdb')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 508, in open_database
md = _read_mmdb_metadata(buf)
File "/usr/local/lib/python3.6/dist-packages/geoip.py", line 382, in _read_mmdb_metadata
buf.size() - MMDB_METADATA_BLOCK_MAX_SIZE)
TypeError: a bytes-like object is required, not 'str'
python-geoip (1.2)
python 3.6.9
Reproduce:
Output:
The same issue happens using a self-provided latest DB: