BUG: special: remove redundant Py_Initialize
#20790
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reference issue
Closes #20783
What does this implement/fix?
The use of
Py_Initialize
inSpecFun_Initialize
is redundant. This function is called in two places, both are the initialization functions called at module import time (thus the use ofPyMODINIT_FUNC
). Python must have been initialized for the import function to be called. What is more: PyPy does not implementPy_Initialize
, so including it here needlessly breaks building SciPy on PyPy.Additional information
Here are the calls to
SpecFun_Initialize
:scipy/scipy/special/_gufuncs.cpp
Lines 61 to 63 in cdc251d
scipy/scipy/special/_special_ufuncs.cpp
Lines 214 to 216 in cdc251d