On Tue, 11 Aug 2020 at 06:37, Bourdon, Jean-François (DIF)
<[email protected]> wrote:
>
> Hi list,
>
>
>
> I have a very simple problem: I can’t delete a file after loading it with 
> QgsVectorLayer() or QgsRasterLayer() within a script (custom Processing 
> Provider) as I get the error saying the file is still in use. My code to 
> replicate:
>
>
>
> path_raster = "C:/temp/raster.tif"
>
> rlayer = QgsRasterLayer(path_raster, "flow")
>
> QgsProject.instance().addMapLayer(rlayer, False)
>
> QgsProject.instance().removeMapLayer(rlayer.id())
>
> os.remove(path_raster)
>
>
>
> However, the same code directly put inside the Python Console within QGIS 
> works, but it won’t if used inside a Processing Provider plugin. I also tried 
> using del rlayer without success. There is several questions about releasing 
> QGIS’ lock on files on GIS StackExchange (e.g. here and here) but it doesn’t 
> seem to work for everyone. Maybe it was working in version 2.X, but it fails 
> on 3.12 (Windows 10).

I suspect your algorithm is incorrectly running in a thread. You CAN'T
do this if your algorithm directly access the project instance -- it's
not thread safe and the layers are likely not getting deleted at all.
Try returning the FlagNoThreading flag from your algorithm's flags()
override.

Nyall


>
>
>
> Many thanks
>
>
>
> Jean-François Bourdon, ing.f.
>
> Analyste en télédétection
> Direction des inventaires forestiers
> Ministère des Forêts, de la Faune et des Parcs
> 5700, 4e Avenue Ouest, local A-108
> Québec (Québec) G1H 6R1
> Téléphone : 418 627-8669, poste 4304
> [email protected]
> mffp.gouv.qc.ca
>
>
>
> _______________________________________________
> QGIS-Developer mailing list
> [email protected]
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to