Opened 5 months ago

Closed 5 months ago

#26967 closed defect (fixed)

Drop distutils dependency

Reported by: atagar Owned by: atagar
Priority: High Milestone:
Component: Core Tor/Stem Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Stem uses distutils in a couple spots...

  • stem.util.system's is_available() function uses it to check if executables are available on the path.
  • setup.py uses it for installation.

Python now says distutils is being 'phased out'...

https://docs.python.org/3/distributing/index.html#distributing-index

I'm not spotting a clear statement on if it's been removed from the standard library nor which version that took place, but regardless seems it's gone. In Debian/Ubuntu distutils now resides in its own package...

https://packages.debian.org/sid/python3-distutils

That's fine. Our util's usage of it is easy to replace. As for the setup.py I'm gonna leave that alone until we drop Python 2.x support. Upstream python might claim distutils is obsolete, but their failure to backport a replacement like setuptools to the 2.x builtins means it's still the best choice for something available by default.

Child Tickets

Change History (1)

comment:1 Changed 5 months ago by atagar

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.