Importing the numpy c-extensions failed

Importing the numpy c-extensions failed

I installed python 3.7 on my windows system to work on visual studio code. Everything was going well, including using the libraries. I uninstalled python using the uninstalling program tool in control panel. And installed Miniconda 3. I checked that everything works well, and then installed the numpy library using conda install numpy in my terminal GitBash on windows 10, then checked it on my visial studio code, but it failed to start.

Reproducing code example:

import numpy as np
A = np.array([[-1], [7], [-26]])

Error message:

Traceback (most recent call last): File "C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core__init__.py", line 17, in from . import multiarray File "C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core\multiarray.py", line 14, in from . import overrides File "C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core\overrides.py", line 7, in from numpy.core._multiarray_umath import ( ImportError: DLL load failed: Не найден указанный модуль.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "c:/Users/ramim/Desktop/22/Matrix library/alsf.py", line 3, in import numpy as np File "C:\Users\ramim\Miniconda3\lib\site-packages\numpy__init__.py", line 142, in from . import core File "C:\Users\ramim\Miniconda3\lib\site-packages\numpy\core__init__.py", line 47, in raise ImportError(msg) ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy c-extensions failed. - Try uninstalling and reinstalling numpy. - If you have already done that, then: 1. Check that you expected to use Python3.7 from "C:\Users\ramim\Miniconda3\python.exe", and that you have no directories in your PATH or PYTHONPATH that can interfere with the Python and numpy version "1.17.3" you're trying to use. 2. If (1) looks fine, you can open a new issue at https://github.com/numpy/numpy/issues. Please include details on: - how you installed Python - how you installed numpy - your operating system - whether or not you have multiple versions of Python installed - if you built from source, your compiler versions and ideally a build log

  • If you're working with a numpy git repository, try git clean -xdf (removes all files not under version control) and rebuild numpy.

Note: this error has many possible causes, so please don't comment on an existing issue about this - open a new one instead.

Original error was: DLL load failed: Не найден указанный модуль.

Numpy/Python version information:

Python 3.7.5 Numpy 1.17.3

I tried to uninstall and install the numpy library again, but it was useless. Note: when I type in the teminal conda install numpy, it says:

All requested packages already installed

That's how I checked if numpy is really installed!

How to solve that?


Solution 1:

Try to uninstall numpy and setuptools first:

  1. pip uninstall -y numpy

  2. pip uninstall -y setuptools

  3. pip install setuptools

  4. pip install numpy

Borrowed from solution provided by mehdiHadji here- https://github.com/ipython/ipyparallel/issues/349

Solution 2:

Not sure this is a thing in Visual Studio too, but for Eclipse I had to change one of the environmental variables.

Setup: Windows, Python 3.7, Conda venv with numpy

Solution:

CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1

For Eclipse, the environment variables can be accessed via Properties -> Run/Debug Settings -> Edit -> Environment.

Anaconda also documented the fix, albeit for a different problem: Conda Troubleshooting

Solution 3:

This issue is caused by VScode default terminal (powershell) setting, To switch VScode default terminal from powershell to cmd, the conda env will be activated correctly, other powershell will try to invoke conda activate xxxxxx which will fail, then the subsequent import numpy will fail.

So two ways to fix it:

  1. Fix path search issue under powershell environment to get conda activate xxxxxx successfully executed;

  2. Change vs code default terminal to 'cmd': add "terminal.integrated.shell.windows": "C:\Windows\System32\cmd.exe" in settings.json

Solution 4:

Similar with my problem recently. I'm using Python 3.8 by Miniconda on Win 10 system. I solved the problem by changing default terminal from PowerShell to Command Prompt.

Steps:

  1. Open VS Code's Command Palette menu by pressing Ctrl+Shift+P or F1
  2. Choose "Terminal: Select Default Profile" entry
  3. Then pick "Command Prompt" option
  4. Restart VS Code