2016-07-08 69 views
9

Voglio eseguire jupyter in pycharm, ma ho riscontrato un errore: Nessun kernel del genere chiamato python3.jupyter: Nessun kernel del genere chiamato python3

Ho installato solo Anaconda (versione Python3 64 bit) e l'ho usato come interprete del progetto pycharm.

enter image description here

......

enter image description here

Jupyter lista kernelspec mostra seguente: enter image description here

Apprezziamo qualsiasi aiuta !!

+0

la funzione di 'get_kernel_spec' restituisce una mappa in questo modo per me: ' Python [Root]:/Users//anaconda/bin/python' Non c'è alcuna voce 'python3' nella mappa, davvero. – Vitaly

+1

Sembra un bug in PyCharm: https://youtrack.jetbrains.com/issue/PY-20023 – Vitaly

+0

È stato corretto da PyCharm. – Lisa

risposta

9

Abbiamo rilasciato versioni di nb_conda, nb_conda_kernels e nb_anacondacloud attraverso i repository ufficiali Anaconda Conda che dovrebbe risolvere i problemi che stai vedendo!

shell conda update nb_conda nb_conda_kernels nb_anacondacloud

As-installato nomi di kernel che possono beneficiare di essere default (ad esempio python2, python3, ir, etc.) sarà mantenuto invariato, per cui dovrebbero apparire sempre lì.

Il lato negativo è fino a tre opzioni per l'env corrente, vale a dire se si è in radice, si vedrà Python 2 e Python [root] e Python [default], è ora possibile in modo riproducibile cattura l'ambiente in cui il tuo kernel dovrebbe essere eseguito.

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

+0

Confermo che è risolvere il problema che stavo affrontando – MordicusEtCubitus

3

Ho avuto lo stesso problema. Io uso jupyter attraverso Anaconda, come fai tu. Sembra che PyCharm provi a eseguire un motore chiamato di default "python3" ma è denominato "Python [Root]" nell'installazione predefinita di anaconda.

Dopo un paio di debug, il problema sembra essere:

  • In PyCharm che utilizza NATIVE_KERNEL_NAME di default al posto di kernel di default Conda chiamato "Python [Root]"
  • o in CondaKernelSpecManager.find_kernel_specs Conda metodi che rimuove predefinite nomi kernel nativo apparentemente senza ragione e in ogni caso, in un brutto modo

per la risposta breve, ho lavorato intorno modificando manualmente

anaconda3/lib/python3.5/site-packages/nb_conda_kernels/manager.py

Questo non è probabilmente l'opzione migliore, ma per il momento funziona

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

+0

Ulteriori informazioni su questo: https://groups.google.com/forum/#!msg/jupyter/qE6fCyXe6fs/GdYLqI9dAQAJ – Vitaly