thampiman / reverse-geocoder

A fast, offline reverse geocoder in Python
GNU Lesser General Public License v2.1
1.87k stars 160 forks source link

Fork error message in Windows 10, Python 3.7 #53

Open rodrigodesalvobraz opened 4 years ago

rodrigodesalvobraz commented 4 years ago

I got the following error when running reverse-geocoder. Also, the machine got really hit for a while and I could not even move the mouse.

Traceback (most recent call last): File "", line 1, in File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 105, in spawn_main Traceback (most recent call last): File "", line 1, in File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 105, in spawn_main exitcode = _main(fd) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 114, in _main prepare(preparation_data) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 225, in prepare _fixup_main_from_path(data['init_main_from_path']) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path run_name="mp_main") File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\runpy.py", line 263, in run_path exitcode = _main(fd) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 114, in _main prepare(preparation_data) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 225, in prepare _fixup_main_from_path(data['init_main_from_path']) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path run_name="mp_main") File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\runpy.py", line 263, in run_path pkg_name=pkg_name, script_name=fname) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\runpy.py", line 96, in _run_module_code pkg_name=pkg_name, script_name=fname) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\runpy.py", line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\runpy.py", line 85, in _run_code mod_name, mod_spec, pkg_name, script_name) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\Me\Documents\Google Location Services Analyzer\main.py", line 19, in exec(code, run_globals) File "C:\Users\Me\Documents\Google Location Services Analyzer\main.py", line 19, in result = rg.search(coordinates) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\site-packages\reverse_geocoder__init.py", line 293, in search result = rg.search(coordinates) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\site-packages\reverse_geocoder__init__.py", line 293, in search return _rg.query(geo_coords) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\site-packages\reversegeocoder__init__.py", line 127, in query , indices = self.tree.pquery(coordinates, k=1) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\site-packages\reverse_geocoder\cKDTree_MP.py", line 97, in pquery return _rg.query(geo_coords) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\site-packages\reversegeocoder__init__.py", line 127, in query , indices = self.tree.pquery(coordinates, k=1) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\site-packages\reverse_geocoder\cKDTree_MP.py", line 97, in pquery for p in pool: p.start() File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\process.py", line 112, in start for p in pool: p.start() File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\process.py", line 112, in start self._popen = self._Popen(self) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\context.py", line 223, in _Popen self._popen = self._Popen(self) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\context.py", line 223, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\popen_spawn_win32.py", line 46, in init return _default_context.get_context().Process._Popen(process_obj) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\popen_spawn_win32.py", line 46, in init__ prep_data = spawn.get_preparation_data(process_obj._name) File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 143, in get_preparation_data _check_not_importing_main() File "C:\Users\Me\AppData\Local\Continuum\anaconda3\envs\Google Location Services Analyzer\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main is not going to be frozen to produce an executable.''') RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen to produce an executable.
prep_data = spawn.get_preparation_data(process_obj._name)
arunsudhakar commented 4 years ago

I ran into into the same issue..If you use single threaded mode by specifying mode=1 in the search function it will,albeit slowly

rg.search(coordinates,mode=1)