Skip to content

Commit

Permalink
BUG: Avoid importing numpy.distutils on import numpy.testing (#20769)
Browse files Browse the repository at this point in the history
Move the offending imports into the functions that use them so that
numpy.distutils is only loaded if those functions are required.
  • Loading branch information
bwoodsend authored and charris committed Jan 27, 2022
1 parent 0100e09 commit 5d4acac
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions numpy/testing/_private/extbuild.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import pathlib
import sys
import sysconfig
from numpy.distutils.ccompiler import new_compiler
from distutils.errors import CompileError

__all__ = ['build_and_import_extension', 'compile_extension_module']

Expand Down Expand Up @@ -53,6 +51,7 @@ def build_and_import_extension(
>>> assert not mod.test_bytes(u'abc')
>>> assert mod.test_bytes(b'abc')
"""
from distutils.errors import CompileError

body = prologue + _make_methods(functions, modname)
init = """PyObject *mod = PyModule_Create(&moduledef);
Expand Down Expand Up @@ -221,6 +220,7 @@ def _c_compile(cfile, outputfilename, include_dirs=[], libraries=[],
def build(cfile, outputfilename, compile_extra, link_extra,
include_dirs, libraries, library_dirs):
"cd into the directory where the cfile is, use distutils to build"
from numpy.distutils.ccompiler import new_compiler

compiler = new_compiler(force=1, verbose=2)
compiler.customize('')
Expand Down

0 comments on commit 5d4acac

Please sign in to comment.