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!
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.
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.
In windows, active root(base) in command prompt first by
activate root
then
jupyter notebook
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
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:
- c:usersUSERNAMEanaconda3
- c:usersUSERNAMEanaconda3scripts
- c:usersUSERNAMEanaconda3librarybin
- c:usersUSERNAMEanaconda3libraryusrbin
where c:usersUSERNAMEanaconda3 is the anaconda install location.
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.
I tried all the above solutions but didn’t work for me until I installed the latest version of Microsoft Visual C++
.
i sovled this issue by copy file C:Anaconda3Libarybinsqlite3.dll to C:Anaconda3Dlls
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.
- 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â¤
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!
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.
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 runningcmd
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.
In windows, active root(base) in command prompt first by
activate root
then
jupyter notebook
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
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:
- c:usersUSERNAMEanaconda3
- c:usersUSERNAMEanaconda3scripts
- c:usersUSERNAMEanaconda3librarybin
- c:usersUSERNAMEanaconda3libraryusrbin
where c:usersUSERNAMEanaconda3 is the anaconda install location.
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.
I tried all the above solutions but didn’t work for me until I installed the latest version of Microsoft Visual C++
.
i sovled this issue by copy file C:Anaconda3Libarybinsqlite3.dll to C:Anaconda3Dlls
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.
- 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â¤