scipy: scipy 1.0.0rc1 windows wheels depend on missing msvcp140.dll
Importing scipy.sparse
or scipy.special
(from 1.0.0rc1 openblas linked wheels) on windows can fail with an ImportError if the target machine does not have msvcp140.dll (part of MS Visual C++ 2015 redistributable package) installed.
Reproducing code example:
pip install scipy==1.0.0rc1
python -c"import scipy.sparse"
python -c"import scipy.special"
Error message:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\biolab\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\__init__.py", line 229, in <module>
from .csr import *
File "C:\Users\biolab\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\csr.py", line 15, in <module>
from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: DLL load failed: The specified module could not be found.
Scipy/Numpy/Python version information:
1.0.0rc1 1.13.3 sys.version_info(major=3, minor=6, micro=2, releaselevel='final' , serial=0)
Inspecting the sparsetools*.pyd with dependency walker reveals the missing dependency and installing the appropriate redistributable solves the problem.
Also putting the msvc*.dll into ‘scipy/extra-dll/’ directory also seems to work.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 28 (15 by maintainers)
@xoviat See the discussion about splitting distutils out - this is not an API I want to put in the core runtime.