Import error: DLL load failed in Jupyter notebook but working in .py file

Question:

I installed BreakoutDetection the module in Anaconda environment. When I tried to import the module using import breakout_detection in jupyter notebook, I get the below error

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-18-96c0fdb15b96> in <module>()
----> 1 import breakout_detection

C:UserssgadiyarAppDataLocalContinuumAnaconda2libsite-packagesbreakout_detection.py in <module>()
     15         except ImportError:
     16             return importlib.import_module('_breakout_detection')
---> 17     _breakout_detection = swig_import_helper()
     18     del swig_import_helper
     19 elif _swig_python_version_info >= (2, 6, 0):

C:UserssgadiyarAppDataLocalContinuumAnaconda2libsite-packagesbreakout_detection.py in swig_import_helper()
     14             return importlib.import_module(mname)
     15         except ImportError:
---> 16             return importlib.import_module('_breakout_detection')
     17     _breakout_detection = swig_import_helper()
     18     del swig_import_helper

C:UserssgadiyarAppDataLocalContinuumAnaconda2libimportlib__init__.pyc in import_module(name, package)
     35             level += 1
     36         name = _resolve_name(name[level:], package, level)
---> 37     __import__(name)
     38     return sys.modules[name]

ImportError: DLL load failed: The specified procedure could not be found.

I could import the same module in python shell

I looked at the system paths (print sys.path) and in both python shell and jupyter notebook. They both are the same. Executable path (print sys.executable) is also the same for the both.

Can someone help me out on the steps I should take to resolve this issue? Thanks!

Asked By: nth-attempt

||

Answers:

I had the same problem when I import sklearn. I guess some packages needed to be upgraded. So I just ran (conda update –all) to upgrade all the packages, and it finally worked.

Answered By: Raywall

I encountered the same problem running Jupyter Notebook from PowerShell. Even though the question was asked a year back, I am answering it here to help those who encounter the same error recently. In my case, first, I activated the root environment activate base then I ran jupyter notebook and it worked just fine. Once you activate the base, you will notice that the prompt will change like this: (base) X:Usersxxxxxcurrent-directory-name>.

  • Note that the command activate base will not work on Powershell. You have to switch to command prompt running cmd or you
    may try the whole thing on the command prompt instead of PowerShell.

  • If the required paths
    (path:toAnaconda3;path:toAnaconda3Scripts;path:toAnaconda3Librarymingw-w64bin;path:toAnaconda3Libraryusrbin;path:toAnaconda3Librarybin)
    are available to your PowerShell environment, then you don’t need to
    activate the “base” environment.

Answered By: picklu

In windows, active root(base) in command prompt first by

activate root

then

jupyter notebook
Answered By: Dheeraj Inampudi

If you have already added anaconda to PATH variable then you have to do the following

activate base
jupyter kernelspec list
python -m ipykernel install --user

It worked for me

Answered By: Akash Desarda

I recently re-installed Anaconda to a new directory (from D: to C:). After that, opening and running PowerShell (in Windows 10) caused it to throw the same errors.

By following @picklu ‘s answer I was able to run it temporarily from the CMD (by running ‘activate base’ and then ‘jupyter notebook’). Even ‘activate root’ worked instead of activate base. Also running it from conda prompt, anaconda navigator and the default shortcut for Jupyter Notebook worked. However, using these methods I wasn’t able to start from the folder I had opened the PowerShell window in (by using Ctrl+Shift+ mouseRightCLick).

However, by following the second part of @picklu ‘s answer I was able to successfully change the system variable PATH from the old D: drive to the current C: .

I added the following:

  1. c:usersUSERNAMEanaconda3
  2. c:usersUSERNAMEanaconda3scripts
  3. c:usersUSERNAMEanaconda3librarybin
  4. c:usersUSERNAMEanaconda3libraryusrbin

where c:usersUSERNAMEanaconda3 is the anaconda install location.

Answered By: Hemang

If we look at the Anaconda FAQ, we can find that it’s not recommended to add Anaconda to the Windows PATH.

While it should work, it’s not really easy and straightforward to manage all the needed paths manually. As an example, none of the answers here at the time of my writing has all the paths, which Anaconda adds on my machine. We can get the list using os module:

For Python 2:

Python 2.7.15 |Anaconda, Inc.| (default, Feb 21 2019, 11:55:13) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ['PATH']

For Python 3:

Python 3.7.2 (default, Feb 21 2019, 17:35:59) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print(os.environ['PATH'])

In my case, I have the following Anaconda paths in it:

C:Anaconda;
C:AnacondaLibrarymingw-w64bin;
C:AnacondaLibraryusrbin;
C:AnacondaLibrarybin;
C:AnacondaScripts;
C:Anacondabin;
C:Anacondacondabin;

And this is just for the base environment. If you have additional environments, there will be similar paths for each of them. Do you really want to add them all, update them, and make sure you haven’t missed any if something is changed with new Anaconda release?

I doubt it. And the good news is that you don’t have to. All the paths are configured for you automatically when you activate the environment.

It might only be usefull to add the Scripts folderto PATH, so that you can run activate without a full path. And then it might be handy to create a bunch of .bat/.cmd files for Python interpreters or Jupyter Notebook, which will simplify environment activation and allow you to do everything with one command.

For example, I have two .cmd files for Python 2 and Python 3 interpreter on my machine:

python.cmd:

@echo off
call activate
python %*

python3.cmd:

@echo off
call activate python37
python %*

A folder with these files is added to PATH, so when I run python or python3 command, the relevant conda environment is activated and the Python interpreter is started in the appropriate context. If you pass cmdline parameters to the interpreter, they are also forwarded correctly. Similar scripts can be cretated for Jupyter.

Answered By: wombatonfire

I tried all the above solutions but didn’t work for me until I installed the latest version of Microsoft Visual C++.

Answered By: Otunba Sodiq

i sovled this issue by copy file C:Anaconda3Libarybinsqlite3.dll to C:Anaconda3Dlls

Answered By: Nour

In whichever virtual environment its breaking out, just activate the environment using:

conda activate <env-name>

and then re-install the notebook using:

pip install notebook

It was working fine for me in both Base as well as virtual environment until I upgraded from windows 10 to windows 11.

Answered By: Arun
  • hi this is working for me
  • fix this problen by 2 steps this solution is for run jupyter notebook

open cmd or cmder run as admin

1-then type this command for uninstall pyzmq

pip uninstall pyzmq

2-the redownload pyzmq by this command

pip install pyzmq

then type jupyter notebook and ejoy its work❤

Answered By: Selro LASTTU