Skip to content

Get rid of distutils #11300

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

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion mypy/pyinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def getsitepackages():
user_dir = site.getusersitepackages()
return site.getsitepackages() + [user_dir]
else:
from distutils.sysconfig import get_python_lib
from sysconfig import get_python_lib
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is only run on python 2 since getusersitepackages and getsitepackages were added in python 3.2, so it's probably fine to leave this using distutils.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

disutils is becoming a blocker for #11297. It makes sense to me to guard the python version here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think guarding the python version is necessary because this code will never get run on python 3 anyways (although it probably wouldn't hurt either).

None of the DeprecationWarnings that I see in the CI run for #11297 seem to be because of this usage. All of those warnings seem to be either from mypyc/build.py or from the setup.py that mypyc generates.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I thought it was causing error all over the codebase, my miss

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pranavrajpal is correct. I already fixed this some time ago by moving the import from the top-level to the else-clause: #10203

return [get_python_lib()]


Expand Down
3 changes: 2 additions & 1 deletion mypyc/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
if TYPE_CHECKING:
from distutils.core import Extension # noqa

from distutils import sysconfig, ccompiler
import sysconfig
from distutils import ccompiler


def get_extension() -> Type['Extension']:
Expand Down