从非conda jupyter安装访问conda python内核

从非conda jupyter安装访问conda python内核,python,jupyter-notebook,ipython,conda,pyzmq,Python,Jupyter Notebook,Ipython,Conda,Pyzmq,我从Python.org安装了python3.7,通过pip安装了jupyter 然后,我分别安装了一个miniconda,其中我安装了ipykernel并运行了一些不同的调用ipython kernel install(根据),以使基于conda的内核对JupyterLab可见 如果运行jupyter kernelspec list,我会看到以下内容: conda37_freecad c:\python37\share\jupyter\kernels\conda37_freeca

我从Python.org安装了python3.7,通过pip安装了jupyter

然后,我分别安装了一个miniconda,其中我安装了ipykernel并运行了一些不同的调用
ipython kernel install
(根据),以使基于conda的内核对JupyterLab可见

如果运行jupyter kernelspec list,我会看到以下内容:

  conda37_freecad      c:\python37\share\jupyter\kernels\conda37_freecad
  python3              c:\python37\share\jupyter\kernels\python3
  python_37_freecad    C:\ProgramData\jupyter\kernels\python_37_freecad
如果我尝试选择
conda37\u freecad
python\u 37\u freecad
我会得到

C:\miniconda3\lib\site-packages\zmq\backend\cffi\__pycache__\_cffi_ext.c(213): fatal error C1083: Cannot open include file: 'sys/un.h': No such file or directory
Traceback (most recent call last):
  File "C:\miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\miniconda3\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "C:\miniconda3\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "C:\miniconda3\lib\site-packages\ipykernel\connect.py", line 18, in <module>
    import jupyter_client
  File "C:\miniconda3\lib\site-packages\jupyter_client\__init__.py", line 4, in <module>
    from .connect import *
  File "C:\miniconda3\lib\site-packages\jupyter_client\connect.py", line 23, in <module>
    import zmq
  File "C:\miniconda3\lib\site-packages\zmq\__init__.py", line 47, in <module>
    from zmq import backend
  File "C:\miniconda3\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "C:\miniconda3\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
    raise value
  File "C:\miniconda3\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "C:\miniconda3\lib\site-packages\zmq\backend\select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "C:\miniconda3\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: DLL load failed: The specified module could not be found.
C:\miniconda3\lib\site packages\zmq\backend\cffi\\ uuuuuuuuu pycache\uuuuuuuuuu cffi\ uext.C(213):致命错误C1083:无法打开包含文件:“sys/un.h”:没有此类文件或目录
回溯(最近一次呼叫最后一次):
文件“C:\miniconda3\lib\runpy.py”,第193行,在作为主模块的运行模块中
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“C:\miniconda3\lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“C:\miniconda3\lib\site packages\ipykernel\u launcher.py”,第15行,在
从ipykernel导入内核应用程序作为应用程序
文件“C:\miniconda3\lib\site packages\ipykernel\\uuuuu init\uuuuuu.py”,第2行,在
从。连接导入*
文件“C:\miniconda3\lib\site packages\ipykernel\connect.py”,第18行,在
导入jupyter_客户端
文件“C:\miniconda3\lib\site packages\jupyter\u client\\uuuu init\uuuuuuuuu.py”,第4行,在
从。连接导入*
文件“C:\miniconda3\lib\site packages\jupyter\u client\connect.py”,第23行,在
导入zmq
文件“C:\miniconda3\lib\site packages\zmq\\uuuu init\uuuuuu.py”,第47行,在
从zmq导入后端
文件“C:\miniconda3\lib\site packages\zmq\backend\\uuuu init\uuuuuu.py”,第40行,在
重新发布(*exc_信息)
文件“C:\miniconda3\lib\site packages\zmq\utils\sixerpt.py”,第34行,重新登录
增值
文件“C:\miniconda3\lib\site packages\zmq\backend\\uuuu init\uuuuuu.py”,第27行,在
_ns=选择_后端(第一个)
文件“C:\miniconda3\lib\site packages\zmq\backend\select.py”,第28行,在select\u backend中
mod=\uuuu导入(名称,fromlist=public\u api)
文件“C:\miniconda3\lib\site packages\zmq\backend\cython\\uuuuu init\uuuuuuuu.py”,第6行,在
从…起导入(常量、错误、消息、上下文、,
ImportError:DLL加载失败:找不到指定的模块。
当内核启动时,它似乎没有正确激活基本环境。我认为基于conda的jupyter安装将能够利用
nb\u conda\u内核
,它可能会处理激活位


虽然这有点不寻常,但它应该是可复制的。有什么想法吗?

是的,从
kernelspec
的角度来看,一切都很好。错误似乎与
zmq
模块有关。也就是说,对我来说,它看起来不像是一个Jupyter问题。我的理论是,zmq恰好是第一个失败,因为它是第一个天秤座由ipykernel调用的ries在没有激活环境的情况下无法找到其dll。当conda环境处于活动状态时,我认为路径中添加了5个文件夹,有助于导入和加载dll。在我看来,似乎正确引用了conda env路径。为了进行比较,当我检查我配置的一个环境时d外部使用(来自Atom中的氢),它有Cython编译版本的所有源文件,我在你的
zmq
相关错误(例如,(常量|上下文|错误|消息|套接字)。*.so)在文件夹
envs/myenv/lib/python3.7/site packages/zmq/backend/cython/
中。您能验证Python正在搜索的目录中是否有Windows等效文件(即
.dll
文件)?这是一堆*.pyd文件(因此…基本上是
*.dll的
Library\bin
添加到conda activation中的路径。事实上,如果我运行anaconda提示符,然后显式启动我的python.org/pip-based jupyter lab,它可以同时使用python.org和基于conda的内核。在ipykernel tracker上发表了相关评论。他们正在讨论内核选择的环境激活幸运的时机?是的,从
kernelspec
的角度来看,一切都很好。错误似乎与
zmq
模块有关。也就是说,对我来说,它看起来不像是Jupyter问题。我的理论是,zmq只是碰巧是第一个失败,因为它是ipykernel调用的第一个库之一,并且没有激活的环境t、 找不到它的dll。当conda环境处于活动状态时,我认为路径中添加了5个文件夹,有助于导入和加载dll。在我看来,似乎正确引用了conda env路径。为了进行比较,当我检查配置为外部使用的一个环境时(来自Atom中的氢),它有Cython编译版本的所有源文件,我在你的
zmq
相关错误(例如,(常量| context | error | message | socket)。*.so)文件夹
envs/myenv/lib/python3.7/site packages/zmq/backend/Cython/
中看到了这些源文件。你能验证一下你是否有Windows等效文件(即
.dll
文件吗在Python正在搜索的目录中?它是一堆*.pyd文件(因此…基本上是
*.dll的
Library\bin
添加到conda激活中的路径。实际上,如果我运行anaconda提示符,则显式启动python.org/pip-based