mapnik / python-mapnik

Python bindings for mapnik
GNU Lesser General Public License v2.1
157 stars 90 forks source link

Don't use deprecated distutils module. #267

Open sebastic opened 1 year ago

sebastic commented 1 year ago

build.py & setup.py still use the deprecated distutils which will be removed in Python 3.12.

From What’s New In Python 3.10:

The entire distutils package is deprecated, to be removed in Python 3.12. Its functionality for specifying package builds has already been completely replaced by third-party packages setuptools and packaging, and most other commonly used APIs are available elsewhere in the standard library (such as platform, shutil, subprocess or sysconfig). There are no plans to migrate any other functionality from distutils, and applications that are using other functions should plan to make private copies of the code. Refer to PEP 632 for discussion.

Porting from Distutils has no suggestions for distutils.sysconfig, but sysconfig is a reasonable alternative.

The _config_vars dict does not exist in the stdlib sysconfig module, hence the removal of the buildflag modifications in setup.py.