@@ -50,17 +50,21 @@ def split_dep(dep):
5050# split package name from version spec
5151translations = dict (neo = "python-neo" )
5252conda_deps = set ()
53+ version_spec_overrides = {
54+ # Help the solver work faster by specifying these (should be updated periodically):
55+ "PySide6" : "==6.10.2" ,
56+ "vtk" : "==9.6.1" ,
57+ }
58+ for key in version_spec_overrides :
59+ assert any (dep .startswith (key ) for dep in deps ), (
60+ f"Need to adjust code below if { key } is not a dependency: { deps } "
61+ )
5362for dep in deps :
5463 package_name , version_spec = split_dep (dep )
64+ version_spec = version_spec_overrides .get (dep , version_spec )
5565 # handle package name differences
5666 package_name = translations .get (package_name , package_name )
57- # PySide6==6.7.0 only exists on PyPI, not conda-forge, so excluding it in
58- # `environment.yaml` breaks the solver. 6.9.1 has a bug, and 6.9.2 needs newer
5967 # C deps that mean we need to upgrade VTK etc.
60- if package_name == "PySide6" :
61- version_spec = "==6.10.2"
62- if package_name == "vtk" :
63- version_spec = "==9.6.1"
6468 # rstrip output line in case `version_spec` == ""
6569 line = f" - { package_name } { version_spec } " .rstrip ()
6670 # use pip for packages needing e.g. `platform_system` or `python_version` triaging
0 commit comments