2016-07-08 22 views
9

Tôi muốn chạy jupyter trong pycharm, nhưng gặp phải lỗi: Không có hạt nhân nào có tên python3.jupyter: Không có hạt nhân nào có tên python3

Tôi chỉ cài đặt Anaconda (phiên bản Python 64bit) và sử dụng phiên bản này làm trình thông dịch dự án pycharm.

enter image description here

......

enter image description here

Jupyter danh sách kernelspec cho thấy như sau: enter image description here

Đánh giá cao bất kỳ giúp !!

+0

'cái chức năng get_kernel_spec' được trả lại một bản đồ như vậy đối với tôi: ' Python [gốc]:/Users//Anaconda/bin/python' Không có 'python3' entry trên bản đồ, quả thật vậy. – Vitaly

+1

Trông giống như một lỗi trong PyCharm: https://youtrack.jetbrains.com/issue/PY-20023 – Vitaly

+0

Nó đã được cố định bởi PyCharm. – Lisa

Trả lời

9

Chúng tôi đã phát hành phiên bản của nb_conda, nb_conda_kernelsnb_anacondacloud qua Repos Anaconda conda chính thức điều đó sẽ giải quyết các vấn đề bạn đang thấy!

shell conda update nb_conda nb_conda_kernels nb_anacondacloud

Như cài đặt tên hạt nhân có đủ điều kiện để được default (ví dụ python2, python3, ir, vv) sẽ được duy trì chưa sửa đổi, vì vậy họ nên luôn luôn xuất hiện ở đó.

Nhược điểm là bao nhiêu là ba tùy chọn cho env hiện tại, tức là nếu bạn đang ở trong thư mục gốc, bạn sẽ thấy Python 2Python [root]Python [default], bạn có thể bây giờ reproducibly nắm bắt môi trường hạt nhân của bạn nên chạy.

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

+0

Tôi xác nhận giải quyết vấn đề tôi đang gặp phải – MordicusEtCubitus

3

Tôi gặp vấn đề tương tự. Tôi sử dụng jupyter thông qua Anaconda, như bạn làm. Có vẻ như PyCharm cố gắng chạy một công cụ được đặt tên theo mặc định "python3" nhưng nó được đặt tên là "Python [Root]" trong cài đặt mặc định anaconda.

Sau một vài gỡ lỗi, vấn đề này có vẻ là:

  • Trong PyCharm trong đó sử dụng NATIVE_KERNEL_NAME theo mặc định ở vị trí của hạt nhân conda mặc định có tên là "Python [gốc]"
  • Hoặc trong CondaKernelSpecManager.find_kernel_specs conda phương pháp mà loại bỏ tên hạt nhân có nguồn gốc rõ ràng mặc định không có lý do chính đáng và dù sao, theo một cách xấu

Đối với câu trả lời ngắn, tôi đã làm việc xung quanh bằng cách chỉnh sửa bằng tay

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

Đây có lẽ không phải là lựa chọn tốt nhất, nhưng đối với thời điểm này nó hoạt động

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

Thông tin thêm về điều này: https://groups.google.com/forum/#!msg/jupyter/qE6fCyXe6fs/GdYLqI9dAQAJ – Vitaly

Các vấn đề liên quan