You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This does not happen when installing via conda-forge. @flowln noticed that here there is a fallback to "dummy" in case neither caproto nor pyepics are installed.
The error doesnt happen in conda-forge installations since they come with pyepics and caproto.
Maybe adding these as dependencies in setup.py would fix this?
The text was updated successfully, but these errors were encountered:
This was intentional as we do not want to have a hard requirement on a particular epics implementation (or any at all!) at the project metadata level (we also have an optional dependency on Matplotlib) because this is much harder to remove at a packaging (e.g. conda) level. On the other hand it is very easy for packaging ecosystems to add extra dependencies.
We also have the idea of supporting other control systems (e.g. https://github.com/bluesky/ophyd-tango) and in those use cases they should be able to depend on ophyd without picking up a transient dependency on another control system.
I am inclined to continue to not have a hard dependency, however I think adding extra groups for [caproto] and [pyepics] would be reasonable.
I agree with not adding a hard dependency, however I do think there should be a user-facing warning in the case the dummy layer is used, as it (as shown) can create issues that are not immediately obvious as to what the cause is (maybe adding an explanation to the NotImplementedError raised would be the best place for that).
When installing ophyd via pip i noticed simdetector and similar devices break:
This does not happen when installing via conda-forge.
@flowln noticed that here there is a fallback to "dummy" in case neither caproto nor pyepics are installed.
The error doesnt happen in conda-forge installations since they come with pyepics and caproto.
Maybe adding these as dependencies in setup.py would fix this?
The text was updated successfully, but these errors were encountered: