When we say we depend on package, we know what we mean, i.e. we probably want to be able to import package in python and have it work as we expect ;) But there are various complications, a few of which are illustrated below:
If I do conda install msgpack, my python gets downgraded from 3.6 to 2.7 and I get an old msgpack. Turns out I should have done conda install msgpack-python. Meanwhile, https://pypi.org/project/msgpack-python/ says "This package is deprecated. Install msgpack instead."
If I do pip install graphviz, I'll be able to import graphviz, but I won't be able to render without also installing the underlying non-python graphviz package. E.g. apt-get install graphviz or conda install graphviz. If I'd been using apt or conda, then I could instead have just installed python-graphviz (and graphviz refers to the underlying, non-python package).
If I do pip install dask I get dask plus the minimum dependencies it requires. If I do conda install dask I get all the dependencies.
defaults and conda-forge may have different names for the same package, e.g. conda defaults libboost is kind of conda conda-forge boost-cpp, conda defaults py-boost is conda-forge ?
(sometimes pinning required on one of conda-forge or defaults, but not the other - or different pinning required)
(Need to extract list of problems from above, decide which are actually problems, then decide where and how to solve.)
When we say we depend on
package
, we know what we mean, i.e. we probably want to be able toimport package
in python and have it work as we expect ;) But there are various complications, a few of which are illustrated below:If I do
conda install msgpack
, my python gets downgraded from 3.6 to 2.7 and I get an old msgpack. Turns out I should have doneconda install msgpack-python
. Meanwhile, https://pypi.org/project/msgpack-python/ says "This package is deprecated. Install msgpack instead."If I do
pip install graphviz
, I'll be able to import graphviz, but I won't be able to render without also installing the underlying non-python graphviz package. E.g. apt-get install graphviz or conda install graphviz. If I'd been using apt or conda, then I could instead have just installed python-graphviz (and graphviz refers to the underlying, non-python package).If I do
pip install dask
I get dask plus the minimum dependencies it requires. If I doconda install dask
I get all the dependencies.defaults and conda-forge may have different names for the same package, e.g. conda defaults libboost is kind of conda conda-forge boost-cpp, conda defaults py-boost is conda-forge ?
(sometimes pinning required on one of conda-forge or defaults, but not the other - or different pinning required)
(Need to extract list of problems from above, decide which are actually problems, then decide where and how to solve.)