pcdshub / pcds-envs

conda environments used by PCDS
Other
1 stars 9 forks source link

Add blop(tools) #314

Closed ZLLentz closed 2 months ago

ZLLentz commented 9 months ago

beamline optimization tools from nsls-ii will be used in illumine

ZLLentz commented 2 months ago

I've been trying offline to re-learn the reason why this couldn't be added and it seems to not be any sort of nabs mutual incompatibility, which is what I thought it was. I'll keep investigating.

ZLLentz commented 2 months ago

I started from the most recent environment yaml and then tried to conda install bloptools=0.7.0, which is currently the latest.

The conflict visualization is pretty short, but I'll need at least a little bit of time to properly digest it:

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package bloptools-0.7.0-pyhd8ed1ab_0 requires ortools-python, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ bloptools 0.7.0**  is installable and it requires
│  └─ ortools-python with the potential options
│     ├─ ortools-python [9.1|9.2|9.4|9.5|9.6] would require
│     │  └─ python >=3.10,<3.11.0a0 , which can be installed;
│     ├─ ortools-python 9.1 would require
│     │  └─ libprotobuf >=3.16.0,<3.17.0a0 , which can be installed;
│     ├─ ortools-python 9.1 would require
│     │  └─ libprotobuf >=3.18.1,<3.19.0a0 , which can be installed;
│     ├─ ortools-python [9.2|9.4|9.5|9.6] would require
│     │  └─ python >=3.8,<3.9.0a0 , which can be installed;
│     ├─ ortools-python 9.2 would require
│     │  └─ libprotobuf >=3.19.4,<3.20.0a0 , which can be installed;
│     ├─ ortools-python 9.2 would require
│     │  └─ libprotobuf >=3.21.7,<3.22.0a0 , which can be installed;
│     ├─ ortools-python 9.2 would require
│     │  └─ libprotobuf >=3.20.0,<3.21.0a0 , which can be installed;
│     ├─ ortools-python 9.2 would require
│     │  └─ libprotobuf >=3.20.1,<3.21.0a0 , which can be installed;
│     ├─ ortools-python 9.2 would require
│     │  └─ libprotobuf >=3.19.1,<3.20.0a0 , which can be installed;
│     ├─ ortools-python [9.4|9.5|9.6] would require
│     │  └─ re2 >=2023.2.2,<2023.2.3.0a0 , which can be installed;
│     ├─ ortools-python [9.5|9.6] would require
│     │  └─ python >=3.11,<3.12.0a0 , which can be installed;
│     └─ ortools-python 9.6 would require
│        ├─ libortools [9.6 hcb37b0f_2|9.6 hcb37b0f_3], which requires
│        │  └─ re2 >=2023.3.2,<2023.3.3.0a0 , which can be installed;
│        └─ re2 >=2023.3.2,<2023.3.3.0a0 , which can be installed;
├─ libprotobuf 4.24.4.*  is not installable because it conflicts with any installable versions previously reported;
├─ pin-1 is not installable because it requires
│  └─ python 3.9.* , which conflicts with any installable versions previously reported;
└─ re2 2023.06.02.*  is not installable because it conflicts with any installable versions previously reported.
ZLLentz commented 2 months ago

After lots of digging, my findings are:

I think what I'm going to try to do is install bloptools via pypi instead and hope nothing explodes Note that the most recent bloptools tag isn't what we ran in mfx, we ran some inbetween version... but I'm not going to stall inbetween versions into tags

ZLLentz commented 2 months ago

Also, most of the other packages in conflict are things we don't truly care about and are incidentals we pick up from databroker's myriad of subdependencies...

ZLLentz commented 2 months ago

One exception is grpcio-tools, which I will also opt to move to pypi since the pypi builds are far ahead of the conda builds

ZLLentz commented 2 months ago

I will also move databroker to pypi only because it seems to avoid some of the bad dependencies? It's worth a shot.

ZLLentz commented 2 months ago

Unfortunately, databroker is erroneously listed as a dependency of bluesky on conda-forge. I'm not immediately sure how to deal with this properly.

ZLLentz commented 2 months ago

The solution to the above is to make all of our recipes depend on bluesky-base instead of on bluesky