maps-as-data/MapReader

PermissionError can't remove _tilecache

Closed this issue · 1 comments

[INFO] "map_75650661.png" already exists. Skipping download.
[INFO] "map_75650697_5.png" already exists. Skipping download.
[INFO] Downloaded "maps/map_75650823_2.png"
---------------------------------------------------------------------------
PermissionError                           Traceback (most recent call last)
Cell In[34], line 1
----> 1 my_ts.download_map_sheets_by_queries()

File ~\miniconda3\envs\mapreader\lib\site-packages\mapreader\download\sheet_downloader.py:1195, in SheetDownloader.download_map_sheets_by_queries(self, path_save, metadata_fname, overwrite, download_in_parallel, **kwargs)
   1192     raise ValueError("[ERROR] No query results found/saved.")
   1194 features = self.found_queries
-> 1195 self._download_map_sheets(
   1196     features,
   1197     path_save,
   1198     metadata_fname,
   1199     overwrite,
   1200     download_in_parallel=download_in_parallel,
   1201     **kwargs,
   1202 )

File ~\miniconda3\envs\mapreader\lib\site-packages\mapreader\download\sheet_downloader.py:752, in SheetDownloader._download_map_sheets(self, features, path_save, metadata_fname, overwrite, download_in_parallel, **kwargs)
    750     print(f'[INFO] "{existing_id}" already exists. Skipping download.')
    751     continue
--> 752 img_path = self._download_map(
    753     feature,
    754     existing_id,
    755     download_in_parallel=download_in_parallel,
    756     overwrite=overwrite,
    757 )
    758 if img_path is not False:
    759     metadata_path = f"{path_save}/{metadata_fname}"

File ~\miniconda3\envs\mapreader\lib\site-packages\mapreader\download\sheet_downloader.py:620, in SheetDownloader._download_map(self, feature, existing_id, download_in_parallel, overwrite)
    617 else:
    618     print(f'[WARNING] Download of "{img_path}" was unsuccessful.')
--> 620 shutil.rmtree(DEFAULT_TEMP_FOLDER)
    621 return img_path

File ~\miniconda3\envs\mapreader\lib\shutil.py:750, in rmtree(path, ignore_errors, onerror)
    748     # can't continue even if onerror hook returns
    749     return
--> 750 return _rmtree_unsafe(path, onerror)

File ~\miniconda3\envs\mapreader\lib\shutil.py:624, in _rmtree_unsafe(path, onerror)
    622     os.rmdir(path)
    623 except OSError:
--> 624     onerror(os.rmdir, path, sys.exc_info())

File ~\miniconda3\envs\mapreader\lib\shutil.py:622, in _rmtree_unsafe(path, onerror)
    620             onerror(os.unlink, fullname, sys.exc_info())
    621 try:
--> 622     os.rmdir(path)
    623 except OSError:
    624     onerror(os.rmdir, path, sys.exc_info())

PermissionError: [WinError 32] El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso: '_tile_cache/'

windows machine
conda
no admin restrictions

Thank you for flagging this issue @SWright2024. If you rerun the script, did the same error appear? Sometimes the command that causes the issue here (shutil.rmtree) can cause scripts to crash, only to work if you rerun the script.