CAChemE / pyomo-recipes

Useful conda recipes for Pyomo and dependencies.
MIT License
6 stars 2 forks source link

Pyro4 dependency #9

Open whart222 opened 8 years ago

whart222 commented 8 years ago

In Pyomo, we treat Pyro4 as an optional dependency that is installed with pyomo.extras, but in CAChemE it is treated as a required dependency for the pyomo package.

I'd like to understand this difference. We treat Pyro4 as an optional dependency since core Pyomo functionality doesn't depend on this package. Additionally, the installation of Pyro (and the other optional dependencies) has proven fragile using PyPI. For example, PyYAML and suds-jurko installations have failed due to external dependencies on their PyPI sites.

But perhaps things are different using conda, and it may make sense to install all/most of pyomo.extras as dependencies when Pyomo is installed with conda.

astrojuanlu commented 8 years ago

The problem here is that conda packages don't have the notion of optional dependencies (see for instance https://github.com/conda/conda/issues/793 and https://github.com/conda/conda/issues/1696). There are a couple of alternatives:

As you can see there's no perfect solution here, but setuptools extras are not perfect either so I guess it's up to us :)