1919 'latest' : ''
2020}
2121
22+ # QGIS conda versions that are known to have problems
23+ # e.g., https://github.com/conda-forge/qgis-feedstock/issues/570
24+ EXCLUDED_QGIS_VERSIONS = ['3.44.5' ]
25+
2226# define packages to be installed in the different *.yml files
2327# compare with .env/requirements.csv
2428# only define root packages, the
@@ -105,7 +109,7 @@ def get_current_qgis_versions() -> dict:
105109 return VERSIONS
106110
107111
108- def get_conda_qgis_versions () -> dict :
112+ def get_conda_qgis_versions () -> List [ str ] :
109113 path_repodata = DIR_TMP / f'condaforge-repodata-{ str (datetime .date .today ())} .json'
110114
111115 if not path_repodata .is_file ():
@@ -130,6 +134,7 @@ def get_conda_qgis_versions() -> dict:
130134 qgis_builds += [v for k , v in repodata ['packages' ].items () if rxPkg .match (k )]
131135 qgis_builds += [v for k , v in repodata ['packages.conda' ].items () if rxPkg .match (k )]
132136 qgis_versions = sorted (set ([build ['version' ] for build in qgis_builds ]))
137+
133138 return qgis_versions
134139
135140
@@ -176,11 +181,13 @@ def update_yaml(dir_yaml,
176181 deps_conda = sorted (set (deps_conda ))
177182 deps_pip = sorted (set (deps_pip ))
178183
179- if ltr_version :
180- deps_conda .insert (0 , f'qgis={ ltr_version } ' )
181- else :
182- deps_conda .insert (0 , 'qgis' )
184+ qgis_version = f'qgis={ ltr_version } ' if ltr_version else 'qgis'
185+ for v in EXCLUDED_QGIS_VERSIONS :
186+ if re .search (r'\d+$' , qgis_version ):
187+ qgis_version += ','
188+ qgis_version += f'!={ v } '
183189
190+ deps_conda .insert (0 , qgis_version )
184191 environment = {
185192 'name' : name ,
186193 'channels' : ['conda-forge' ],
0 commit comments