Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DEPS: remove distutils #41199

Closed
fangchenli opened this issue Apr 28, 2021 · 3 comments · Fixed by #41207
Closed

DEPS: remove distutils #41199

fangchenli opened this issue Apr 28, 2021 · 3 comments · Fixed by #41207
Labels
Dependencies Required and optional dependencies Deprecate Functionality to remove in pandas Python 3.10
Milestone

Comments

@fangchenli
Copy link
Member

distutils is deprecated in Python 3.10, it will be removed in 3.12.

https://www.python.org/dev/peps/pep-0632/ has a section about migration.

xref #41113

@fangchenli fangchenli added Deprecate Functionality to remove in pandas Dependencies Required and optional dependencies Python 3.10 labels Apr 28, 2021
fangchenli added a commit to fangchenli/pandas that referenced this issue Apr 28, 2021
@jorisvandenbossche
Copy link
Member

We mostly use distutils for its version checking, and the alternative for that is packaging. That's however not a standard library module, but an external package that would either need to be added as a dependency, or otherwise be vendored (just the packaging.version submodule, which is only a few hundred lines of python code)

@bashtage
Copy link
Contributor

What is the rush? Won't there will be a Python-provided equivalent of LooseVersion before distutils is removed?

@jorisvandenbossche
Copy link
Member

Won't there will be a Python-provided equivalent of LooseVersion before distutils is removed?

There doesn't seem to be any plan for that, they point to packaging

@fangchenli fangchenli changed the title DEPS: remove usage of distutils DEPS: remove distutils Apr 30, 2021
@jreback jreback added this to the 1.3 milestone May 5, 2021
The-Compiler added a commit to The-Compiler/hypothesis that referenced this issue Apr 26, 2022
Mostly due to old Pandas versions:
pandas-dev/pandas#41199
pandas-dev/pandas#32056
pandas-dev/pandas#34848

In one instance, also due to Lark using sre_* modules:
lark-parser/lark#1140

Those filters could also be set to `ignore` to not show the warnings at
all. This sets them to `default`, restoring the previous behavior of
showing the warnings but not failing the test run.

Perhaps it might make sense to use older Numpy versions for testing the
older Pandas versions too?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies Required and optional dependencies Deprecate Functionality to remove in pandas Python 3.10
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants