【问题标题】:discrepancy in numbers of kernels in Jupyter notebook and Anaconda-NavigatorJupyter notebook 和 Anaconda-Navigator 中内核数量的差异
【发布时间】:2019-03-13 04:43:20
【问题描述】:

我正在使用 Ananconda 运行 python,当我加载我的 jupyter notebook 时,我看到有 6 个内核可用(见图):

Last login: Sun Sep 17 12:42:58 on ttys001
MacBook:~ user1$ jupyter notebook
[I 14:53:55.642 NotebookApp] [nb_conda_kernels] enabled, 6 kernels found
[I 14:53:56.470 NotebookApp] JupyterLab alpha preview extension loaded from /Users/user/anaconda/lib/python2.7/site-packages/jupyterlab
[I 14:53:56.471 NotebookApp] Running the core application with no additional extensions or settings
[I 14:53:57.374 NotebookApp] [nb_anacondacloud] enabled
[I 14:53:57.379 NotebookApp] [nb_conda] enabled
[I 14:53:57.451 NotebookApp] ✓ nbpresent HTML export ENABLED
[W 14:53:57.452 NotebookApp] ✗ nbpresent PDF export DISABLED: No module named nbbrowserpdf.exporters.pdf
[I 14:53:57.457 NotebookApp] Serving notebooks from local directory: /Users/user

但是 conda 和 anaconda-navigator 显示了三种环境:

conda info --envs
# conda environments:
#
P34                      /Users/user/anaconda/envs/P34
R                        /Users/user/anaconda/envs/R
root                  *  /Users/user/anaconda

此外,

conda info --json

返回这个:

{
  "GID": 20, 
  "UID": 503, 
  "channels": [
    "https://conda.anaconda.org/anaconda-fusion/osx-64", 
    "https://conda.anaconda.org/anaconda-fusion/noarch", 
    "https://conda.anaconda.org/r/osx-64", 
    "https://conda.anaconda.org/r/noarch", 
    "https://repo.continuum.io/pkgs/free/osx-64", 
    "https://repo.continuum.io/pkgs/free/noarch", 
    "https://repo.continuum.io/pkgs/r/osx-64", 
    "https://repo.continuum.io/pkgs/r/noarch", 
    "https://repo.continuum.io/pkgs/pro/osx-64", 
    "https://repo.continuum.io/pkgs/pro/noarch"
  ], 
  "conda_build_version": "2.0.2", 
  "conda_env_version": "4.3.25", 
  "conda_location": "/Users/user/anaconda/lib/python2.7/site-packages/conda", 
  "conda_prefix": "/Users/user/anaconda", 
  "conda_private": false, 
  "conda_version": "4.3.25", 
  "default_prefix": "/Users/user/anaconda", 
  "env_vars": {
    "CIO_TEST": "<not set>", 
    "CONDA_DEFAULT_ENV": "<not set>", 
    "CONDA_ENVS_PATH": "<not set>", 
    "DYLD_LIBRARY_PATH": "<not set>", 
    "PATH": "/Users/user/Dropbox (Personal)/firefoxdriver_osx/bin:/Users/user/Dropbox (Personal)/chromedriver_osx/bin:/Users/user/anaconda/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin", 
    "PYTHONHOME": "<not set>", 
    "PYTHONPATH": "<not set>"
  }, 
  "envs": [
    "/Users/user/anaconda/envs/P34", 
    "/Users/user/anaconda/envs/R"
  ], 
  "envs_dirs": [
    "/Users/user/anaconda/envs", 
    "/Users/user/.conda/envs"
  ], 
  "netrc_file": null, 
  "offline": false, 
  "pkgs_dirs": [
    "/Users/user/anaconda/pkgs", 
    "/Users/user/.conda/pkgs"
  ], 
  "platform": "osx-64", 
  "python_version": "2.7.13.final.0", 
  "rc_path": "/Users/user/.condarc", 
  "requests_version": "2.14.2", 
  "root_prefix": "/Users/user/anaconda", 
  "root_writable": true, 
  "site_dirs": [], 
  "sys.executable": "/Users/user/anaconda/bin/python", 
  "sys.prefix": "/Users/user/anaconda", 
  "sys.version": "2.7.13 |Anaconda 4.4.0 (x86_64)| (default, Dec 20 2016, 23:05:08) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]", 
  "sys_rc_path": "/Users/user/anaconda/.condarc", 
  "user_agent": "conda/4.3.25 requests/2.14.2 CPython/2.7.13 Darwin/16.7.0 OSX/10.12.6", 
  "user_rc_path": "/Users/user/.condarc"
}

如何协调 jupyter notebook 的内容和 conda 报告的内容?如何删除 Jupyter notebook 报告的一些环境?这个问题是用我认为在环境中加载的一些库创建的,但最终会出现在“幽灵”环境之一中。

【问题讨论】:

    标签: python anaconda jupyter-notebook


    【解决方案1】:

    Conda 附带nb_conda_kernels,它绕过了正常的内核机制;因此并非您计算机的所有程序都可以看到所有内核。

    nb_conda_kernels 旨在自动将任何 conda env 公开为可能的内核。它只对笔记本服务器这样做(或至少这样做),因此您可以从笔记本 UI 中看到更多内核。

    这具有优点:不再需要手动注册内核 - 缺点:许多其他软件无法看到所有内核;值得注意的是,Atom、Nteract、Nbconvert 和其他较低级别的工具以及您提到的问题。

    您可以通过查看您的 jupyter 配置文件来停用 nb_conda_kernel 并删除 anaconda 已启用的选项;卸载 nb_conda_kernels。然后安装 kernelspec the classic way

    【讨论】:

      【解决方案2】:

      IPython 内核!= conda 环境。您可能有具有多个内核的环境(例如在您的情况下,环境“P34”和“R”各有 2 个内核 - 用于 R 和 Python),或者可能存在根本没有 IPython 内核的环境。

      如果要删除 conda 环境,请使用 conda env remove -n ENV_NAME 命令。

      如果你想从 Jupyter 中分离内核而不删除整个环境,你可以删除相应的内核规范文件夹。有关如何查找内核规范文件夹的详细信息,请参阅我的 answer 到您的其他问题。

      【讨论】:

        猜你喜欢
        • 2018-07-25
        • 2019-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-09
        • 2023-04-03
        • 2020-11-02
        • 2018-09-11
        相关资源
        最近更新 更多