Is there a way to specify optional dependencies for a Python package that should be installed by default from pip
but for which an install should not be considered a failure if they cannot be installed?
I know that I can specify install_requires
so that the packages will be installed for the 90% of users using OSes that can easily install certain optional dependencies, and I also know I can specify extra_require
to specify that users can declare they want a full install to get these features, but I haven't found a way to make a default pip
install try to install the packages but not complain if they cannot be installed.
(The particular package I'd like to update the setuptools
and setup.py
for is called music21
for which 95% of the tools can be run without matplotlib, IPython, scipy, pygame, some obscure audio tools etc. but the package gains extra abilities and speed if these packages are installed, and I'd prefer to let people have these abilities by default but not report errors if they cannot be installed)
pyproject.toml
would be welcomed as well, as I've dropped setuptools and setup.py from my workflow. – Collection