jupyter:没有名为python3的内核

时间:2016-07-08 00:08:59

标签: pycharm anaconda jupyter

我想在pycharm中运行jupyter,但遇到错误:没有这样的内核名为python3。

我只安装了Anaconda(Python3 64位版本)并将其用作pycharm项目解释器。

enter image description here

...

enter image description here

Jupyter kernelspec列表显示如下: enter image description here

感谢任何帮助!

3 个答案:

答案 0 :(得分:10)

我们已通过正式的Anaconda conda repos发布了nb_condanb_conda_kernelsnb_anacondacloud的版本,可以解决您所看到的问题!

shell conda update nb_conda nb_conda_kernels nb_anacondacloud

符合default条件的已安装内核名称(例如python2python3ir等)将保持不变,因此应始终保持不变出现在那里。

缺点是当前env有多达三个选项,即如果你是root用户,你会看到 Python 2 Python [root] Python [默认] ,您现在可以重复捕获内核应该运行的环境。

meta:https://github.com/Anaconda-Platform/anaconda-nb-extensions/issues/166

答案 1 :(得分:3)

我有同样的问题。 我像你一样通过Anaconda使用jupyter。 似乎PyCharm尝试运行默认命名为“python3”的引擎,但在anaconda默认安装中命名为“Python [Root]”。

经过一些调试后,问题似乎是:

  • 在PyCharm中默认使用NATIVE_KERNEL_NAME代替名为“Python [Root]”的默认conda内核
  • 或者在conda CondaKernelSpecManager.find_kernel_specs方法中删除默认的本机内核名称显然没有充分的理由,无论如何,以一种糟糕的方式

对于简短的回答,我通过手动编辑解决了

  

anaconda3 / LIB / python3.5 /站点包/ nb_conda_kernels / manager.py

这可能不是最好的选择,但目前它的工作原理

def find_kernel_specs(self):
    """Returns a dict mapping kernel names to resource directories.

    The update process also add the resource dir for the conda
    environments.
    """

    kspecs = super(CondaKernelSpecManager, self).find_kernel_specs()

    # COMMENT THIS
    # remove native kernels because it is provided by the env name
    # if "python3" in kspecs:
    #     kspecs.pop("python3")
    # elif "python2" in kspecs:
    #     kspecs.pop("python2")
    # elif "R" in kspecs

https://github.com/ContinuumIO/anaconda-issues/issues/936

答案 2 :(得分:2)

这为我解决了问题:

 conda install nb_conda_kernels