[python-package] add 'pandas' extra #5937
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on #5936, I discovered that
lightgbm
is incompatible withpandas<0.24.0
. This PR proposes adding a[pandas]
extra to the Python package to track that floor, so users can runpip install 'lightgbm[pandas]'
to be guaranteed to either get a compatible version or a big, loud, clear error.Other changes:
pyproject.toml
setup.py
) (fixes #5061) #5759 brokepip install 'lightgbm[dask]'
, sorry 😬dask
dependencies into oneHow I found that version floor
details (click me)
lightgbm
can only be used withpandas
ifCategoricalDType
can be imported...LightGBM/python-package/lightgbm/compat.py
Lines 6 to 17 in ac57d5a
... which was introduced in
pandas==0.21.0
: pandas-dev/pandas#16015.lightgbm
also relies onpd.DataFrame.to_numpy()
andpd.Series.to_numpy()
...LightGBM/python-package/lightgbm/basic.py
Line 704 in ac57d5a
LightGBM/python-package/lightgbm/basic.py
Line 711 in ac57d5a
LightGBM/python-package/lightgbm/basic.py
Line 2594 in ac57d5a
LightGBM/python-package/lightgbm/basic.py
Line 2601 in ac57d5a
LightGBM/python-package/lightgbm/basic.py
Lines 2964 to 2965 in ac57d5a
... which was introduced in
pandas==0.24.0
: pandas-dev/pandas#23623How I discovered that extras were broken (and then tested that this fixes them)
details (click me)
On
master
:On this branch: