[Chapel Merge] Remove the occurrence of module `distutils` for Py

Branch: refs/heads/main
Revision: 8656a41
Author: ronawho
Link: https://github.com/chapel-lang/chapel/pull/19168
Log Message:

Merge pull request #19168 from XuehaiPan/python310-remove-distutils

Remove the occurrence of module distutils for Python 3.10

[contributed by @XuehaiPan, reviewed by @lydia-duncan @ronawho]

Module distutils is deprecated in Python 3.10 and will be removed in Python 3.12. distutils will no longer be a Python built-in module (standard library) and have been migrated to setuptools.

See PEP 632 -- Deprecate distutils module.

In this PR:

  1. distutils.spawn.find_executableshutil.which (python >= 3.2)

  2. distutils.version.LooseVersionpkg_resources.parse_version (NOTE: pkg_resources is part of setuptools)

  3. distutils.coresetuptools

    Modified Files:
    M compiler/codegen/library.cpp
    M compiler/parser/Makefile
    M test/compflags/link/sungeun/static_dynamic.prediff
    M test/gpu/interop/cuBLAS.skipif
    M test/gpu/interop/stream.skipif
    M test/gpu/native.skipif
    M test/interop/python/arrayAndExternArrayType.good
    M test/library/packages/Crypto.skipif
    M test/library/packages/Socket.skipif
    M test/setchplenv/verify_setchplenv_scripts.py
    M test/studies/dedup/dedup-externblock.skipif
    M util/chplenv/chpl_compiler.py
    M util/chplenv/chpl_launcher.py
    M util/chplenv/chpl_llvm.py
    M util/chplenv/chpl_make.py
    M util/chplenv/utils.py
    M util/chpltags

    Compare: https://github.com/chapel-lang/chapel/compare/5a2fac785d80...8656a41bda2b