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
Having cython in install_requires creates a problem down the line in the conda-forge package, which does not carry cython as a runtime dependency, which in turn leads entry_point resolution in downstream packages to a failure.
Of course, one solution is to add cython as a runtime dependency to the conda-forge package, but I am wondering if cython is actually needed as a runtime dependency. Isn't it enough to have it in setup_requires?
The install_requires is there for pip really... how are you hitting this problem through conda? Just curious. I'm not really understanding the context of the problem
For pip, or any other Python packaging, I guess you only need setup_requires. When you add it to install_requires it becomes a run time dependency and pip check will fail if you don't have it installed. It is not really a conda issue, we only catch it b/c we run pip check in our CIs.
Thanks @bjlittle, and no worries. To add to what @ocefpaf said, when using entry_points this check now happens automatically on running a program. That may be a relatively recent change since entry points now use importlib_metadata instead of pkg_resources by default at least on python 3.8, but here we are. Basically, on every run of a program as a first step all declared runtime dependencies are checked, regardless of whether they are actually used.
Activity
zklaus commentedon Apr 19, 2021
@bjlittle, what's your take on this?
bjlittle commentedon May 13, 2021
@zklaus Sorry, I'm super late to this... 😊
The
install_requiresis there forpipreally... how are you hitting this problem throughconda? Just curious. I'm not really understanding the context of the problemocefpaf commentedon May 14, 2021
For pip, or any other Python packaging, I guess you only need
setup_requires. When you add it toinstall_requiresit becomes a run time dependency andpip checkwill fail if you don't have it installed. It is not really a conda issue, we only catch it b/c we runpip checkin our CIs.bjlittle commentedon May 14, 2021
@zklaus Okay, I'm going to address this today, and push another release of
python-stratify👍zklaus commentedon May 14, 2021
Thanks @bjlittle, and no worries. To add to what @ocefpaf said, when using entry_points this check now happens automatically on running a program. That may be a relatively recent change since entry points now use importlib_metadata instead of pkg_resources by default at least on python 3.8, but here we are. Basically, on every run of a program as a first step all declared runtime dependencies are checked, regardless of whether they are actually used.
bjlittle commentedon May 14, 2021
@zklaus Ahhh okay, lovely thanks, now I finally understand the context of what you were originally saying... thanks for clarifying.
Much appreciated 🍻
bjlittle commentedon May 19, 2021
Closed by #41