20

我在 Anaconda 环境中安装了BreakoutDetection模块。当我尝试import breakout_detection在 jupyter notebook 中使用导入模块时,出现以下错误

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

C:\Users\sgadiyar\AppData\Local\Continuum\Anaconda2\lib\site-packages\breakout_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:\Users\sgadiyar\AppData\Local\Continuum\Anaconda2\lib\site-packages\breakout_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:\Users\sgadiyar\AppData\Local\Continuum\Anaconda2\lib\importlib\__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.

我可以在 python shell 中导入相同的模块

我查看了系统路径 ( print sys.path) 以及 python shell 和 jupyter notebook。他们都是一样的。两者的可执行路径 ( print sys.executable) 也是相同的。

有人可以帮助我解决我应该采取的步骤来解决这个问题吗?谢谢!

4

10 回答 10

54

我从 PowerShell 运行 Jupyter Notebook 时遇到了同样的问题。尽管这个问题是在一年前提出的,但我在这里回答它是为了帮助那些最近遇到同样错误的人。就我而言,首先,我激活了根环境,activate base然后我运行jupyter notebook它,它工作得很好。一旦你激活了基地,你会注意到提示会变成这样: (base) X:\Users\xxxxx\current-directory-name>

  • 请注意,该命令activate base不适用于 Powershell。您必须切换到命令提示符运行cmd,或者您可以在命令提示符而不是 PowerShell 上尝试整个操作。

  • 如果所需的路径
    ( path:\to\Anaconda3\;path:\to\Anaconda3\Scripts;path:\to\Anaconda3\Library\mingw-w64\bin;path:\to\Anaconda3\Library\usr\bin;path:\to\Anaconda3\Library\bin) 可用于您的 PowerShell 环境,则无需激活“基本”环境。

于 2018-10-02T01:34:29.237 回答
28

在 Windows 中,首先在命令提示符下激活 root(base)

activate root

然后

jupyter notebook
于 2018-11-28T09:46:14.183 回答
7

我最近将 Anaconda 重新安装到了一个新目录(从 D: 到 C:)。之后,打开并运行 PowerShell(在 Windows 10 中)导致它抛出相同的错误。

通过遵循@picklu 的回答,我可以从 CMD 临时运行它(通过运行“激活基础”,然后运行“jupyter notebook”)。即使是“激活根”也可以代替激活基础。还可以从 conda 提示符、anaconda 导航器和 Jupyter Notebook 的默认快捷方式运行它。但是,使用这些方法,我无法从打开 PowerShell 窗口的文件夹开始(通过使用 Ctrl+Shift+m​​ouseRightCLick)。

但是,通过遵循@picklu 答案的第二部分,我能够成功地将系统变量 PATH 从旧的 D: 驱动器更改为当前的 C: 。

我添加了以下内容:

  1. c:\用户\用户名\anaconda3
  2. c:\users\USERNAME\anaconda3\scripts
  3. c:\users\USERNAME\anaconda3\library\bin
  4. c:\users\USERNAME\anaconda3\library\usr\bin

其中 c:\users\USERNAME\anaconda3 是 anaconda 安装位置。

于 2019-01-16T03:53:23.430 回答
5

如果您已经将 anaconda 添加到 PATH 变量,那么您必须执行以下操作

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

它对我有用

于 2018-12-14T11:39:40.093 回答
3

我在导入 sklearn 时遇到了同样的问题。我猜有些软件包需要升级。所以我只是跑(conda update --all)来升级所有的包,它终于奏效了。

于 2017-09-22T03:37:24.237 回答
0

如果我们查看Anaconda FAQ,我们会发现不建议将 Anaconda 添加到 Windows PATH 中。

虽然它应该可以工作,但手动管理所有需要的路径并不容易和直接。例如,在我撰写本文时,这里没有一个答案包含所有路径,Anaconda 在我的机器上添加了这些路径。我们可以使用 os 模块获取列表:

对于 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']

对于 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'])

就我而言,我有以下 Anaconda 路径:

C:\Anaconda;
C:\Anaconda\Library\mingw-w64\bin;
C:\Anaconda\Library\usr\bin;
C:\Anaconda\Library\bin;
C:\Anaconda\Scripts;
C:\Anaconda\bin;
C:\Anaconda\condabin;

这仅适用于基础环境。如果您有其他环境,每个环境都会有类似的路径。您是否真的想将它们全部添加、更新并确保在新的 Anaconda 版本发生更改时不会错过任何内容?

我对此表示怀疑。好消息是您不必这样做。激活环境时会自动为您配置所有路径。

将文件夹添加到ScriptsPATH 可能很有用,这样您就可以在activate没有完整路径的情况下运行。然后为 Python 解释器或 Jupyter Notebook 创建一堆.bat/.cmd文件可能会很方便,这将简化环境激活并允许您使用一个命令完成所有操作。

例如,我.cmd的机器上有两个用于 Python 2 和 Python 3 解释器的文件:

python.cmd

@echo off
call activate
python %*

python3.cmd

@echo off
call activate python37
python %*

将包含这些文件的文件夹添加到 PATH 中,因此当我运行pythonpython3命令时,相关的 conda 环境被激活并在适当的上下文中启动 Python 解释器。如果将 cmdline 参数传递给解释器,它们也会被正确转发。可以为 Jupyter 创建类似的脚本。

于 2019-03-12T00:44:23.710 回答
0

卸载所有 Microsoft Visual Studio C++ 可再发行组件后,我也遇到了这个问题。在我安装Visual Studio 2015, 2017 和 2019后它已修复。

您可以在最新支持的 Visual C++ 下载中找到它

于 2020-06-28T15:00:50.050 回答
0

我尝试了上述所有解决方案,但直到我安装了最新版本的Microsoft Visual C++.

于 2020-09-02T18:42:23.807 回答
0

我通过将文件 C:\Anaconda3\Libary\bin\sqlite3.dll 复制到 C:\Anaconda3\Dlls 解决了这个问题

于 2020-11-06T20:35:57.343 回答
0

在它爆发的任何虚拟环境中,只需使用以下方式激活环境:

conda activate <env-name>

然后使用以下命令重新安装笔记本:

pip install notebook

在我从 Windows 10 升级到 Windows 11 之前,它在 Base 和虚拟环境中都运行良好。

于 2022-02-07T08:03:38.853 回答