Hướng dẫn the python kernel does not appear to be a conda environment spyder - hạt nhân python dường như không phải là một trình gián điệp môi trường chung cư

Vấn đề mới

Có một câu hỏi về dự án này? Đăng ký một tài khoản GitHub miễn phí để mở một vấn đề và liên hệ với người bảo trì và cộng đồng của nó. Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Bằng cách nhấp vào Đăng ký đăng ký cho GitHub, bạn đồng ý với Điều khoản dịch vụ và tuyên bố quyền riêng tư của chúng tôi. Chúng tôi thỉnh thoảng gửi cho bạn các email liên quan đến tài khoản.

Đã có trên Github? đăng nhập vào tài khoản của bạn

Người được giao

Hướng dẫn the python kernel does not appear to be a conda environment spyder - hạt nhân python dường như không phải là một trình gián điệp môi trường chung cư

Bình luận

Tôi đã cài đặt Spyder 5.0.3 trên Windows 10. Tôi đang cố gắng tạo một môi trường ảo riêng biệt với lệnh sau

          "conda create -n spyder-env spyder=4"

Tuy nhiên, tôi đang nhận được lỗi sau "ValueError: hạt nhân Python dường như không phải là môi trường Conda. Vui lòng sử dụng %pip install thay thế."
"ValueError: The python kernel does not appear to be a conda environment. Please use %pip install instead."

Này @shailenderjain, lệnh đó không có nghĩa là được chạy bên trong bảng điều khiển của chúng tôi. Nếu bạn muốn sử dụng các mô -đun khác không đi kèm với trình cài đặt của chúng tôi, bạn cần phải thực hiện như sau:

  1. Cài đặt miniconda.

  2. Tạo một môi trường Conda sau đó với các gói bạn muốn sử dụng và spyder-kernels. Trong trường hợp của bạn, bạn cần chạy các lệnh này trong một thiết bị đầu cuối hệ thống (nghĩa là

     conda activate base
     conda create -n myenv spyder-kernels 
    
    0):

     conda activate base
     conda create -n myenv spyder-kernels 
    

  3. Kết nối Spyder với môi trường đó bằng cách làm theo các hướng dẫn này.

Xin hãy làm điều đó và cho chúng tôi biết nếu nó hoạt động cho bạn.

Đóng cửa do thiếu phản ứng.

2 người tham gia

Tóm tắt (TLDR)

Nếu bạn muốn hạt nhân 'Python3' luôn chạy cài đặt Python từ môi trường nơi nó được khởi chạy, hãy xóa hạt nhân 'Python3' của người dùng, được ưu tiên hơn bất kỳ môi trường hiện tại nào với:

jupyter kernelspec remove python3

Giải pháp đầy đủ

Tôi sẽ đăng một giải pháp thay thế và đơn giản hơn cho trường hợp sau:

  • Bạn đã tạo ra một môi trường Conda
  • Môi trường này đã cài đặt Jupyter (cũng cài đặt IpyKernel)
  • Khi bạn chạy lệnh
     conda activate base
     conda create -n myenv spyder-kernels 
    
    1 và tạo một sổ ghi chép mới bằng cách nhấp vào 'Python3' trong menu thả xuống 'mới', máy tính xách tay đó sẽ thực hiện Python từ môi trường cơ sở chứ không phải từ môi trường hiện tại.
  • Bạn muốn nó để khởi chạy một cuốn sổ mới có 'Python3' trong bất kỳ môi trường nào thực hiện phiên bản Python từ môi trường đó chứ không phải cơ sở

Tôi sẽ sử dụng tên 'test_env' cho môi trường cho phần còn lại của giải pháp. Ngoài ra, lưu ý rằng 'Python3' là tên của hạt nhân.

Câu trả lời hiện đang được bỏ phiếu hàng đầu không hoạt động, nhưng có một giải pháp thay thế. Nó nói làm như sau:

python -m ipykernel install --user --name test_env --display-name "Python (test_env)"

Điều này sẽ cung cấp cho bạn tùy chọn sử dụng môi trường test_env bất kể bạn sẽ khởi động môi trường nào. Nhưng, khởi chạy một cuốn sổ tay với 'Python3' vẫn sẽ sử dụng cài đặt Python từ môi trường cơ sở.

Điều có thể xảy ra là có một hạt nhân Python3 người dùng tồn tại. Chạy lệnh

 conda activate base
 conda create -n myenv spyder-kernels 
3 để liệt kê tất cả các môi trường của bạn. Chẳng hạn, nếu bạn có máy Mac, bạn sẽ được trả lại như sau (tên người dùng của tôi là TED).

python3       /Users/Ted/Library/Jupyter/kernels/python3

Những gì Jupyter đang làm ở đây là tìm kiếm qua ba con đường khác nhau để tìm kiếm hạt nhân. Nó đi từ người dùng, đến env, đến hệ thống. Xem tài liệu này để biết thêm chi tiết về các đường dẫn mà nó tìm kiếm cho từng hệ điều hành.User, to Env, to System. See this document for more details on the paths it searches for each operating system.

Hai hạt nhân ở trên đều nằm trong đường dẫn người dùng, có nghĩa là chúng sẽ có sẵn bất kể môi trường mà bạn khởi chạy một cuốn sổ tay Jupyter. Điều này cũng có nghĩa là nếu có một hạt nhân 'Python3' khác ở cấp độ môi trường, thì bạn sẽ không bao giờ có thể truy cập nó.

Đối với tôi, có ý nghĩa hơn khi chọn hạt nhân 'Python3' từ môi trường bạn đã phóng sổ ghi chép từ nên thực hiện Python từ môi trường đó.

Bạn có thể kiểm tra xem bạn có môi trường 'Python3' khác không bằng cách xem qua đường dẫn tìm kiếm Env cho hệ điều hành của bạn (xem liên kết đến các tài liệu ở trên). Đối với tôi (trên máy Mac của tôi), tôi đã ban hành lệnh sau:

 ls /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels

Và tôi thực sự đã có một hạt nhân 'Python3' được liệt kê ở đó.

Nhờ nhận xét vấn đề GitHub này (xem phản hồi đầu tiên), bạn có thể xóa môi trường 'Python3' của người dùng bằng lệnh sau:

jupyter kernelspec remove python3

Bây giờ khi bạn chạy

 conda activate base
 conda create -n myenv spyder-kernels 
3, giả sử test_env vẫn đang hoạt động, bạn sẽ nhận được như sau:

python3       /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels/python3

Lưu ý rằng đường dẫn này nằm trong thư mục test_env. Nếu bạn tạo một môi trường mới, hãy cài đặt Jupyter, kích hoạt nó và liệt kê các hạt nhân, bạn sẽ nhận được một hạt nhân 'Python3' khác nằm trong đường dẫn môi trường của nó.

Kernel 'Python3' của người dùng đã được ưu tiên hơn bất kỳ hạt nhân nào của Env 'Python3'. Bằng cách loại bỏ nó, hạt nhân hoạt động 'Python3' đã được phơi bày và có thể được chọn mỗi lần. Điều này loại bỏ sự cần thiết phải tạo ra hạt nhân theo cách thủ công. Nó cũng có ý nghĩa hơn về mặt phát triển phần mềm, nơi người ta muốn tự cô lập thành một môi trường duy nhất. Chạy một hạt nhân khác với môi trường chủ có vẻ không tự nhiên.

Có vẻ như người dùng 'Python3' này không được cài đặt cho mọi người theo mặc định, vì vậy không phải ai cũng phải đối mặt với vấn đề này.

Làm cách nào để kích hoạt môi trường Python ở Spyder?

Chuyển đến Công cụ -> Tùy chọn -> Trình thông dịch Python và chọn tệp Python từ env bạn muốn liên kết đến Spyder Ex:/home/bạn/anaconda3/envs/your_env/bin/python. ex : /home/you/anaconda3/envs/your_env/bin/python.

Tại sao Spyder không mở?

Lỗi này thường xuất hiện vì bạn đã cài đặt PYQT5 với PIP tại một số điểm.Bây giờ bạn phải gỡ cài đặt Anaconda và cài đặt lại nó theo các hướng dẫn trong video của chúng tôi để có thể chạy thành công Spyder.Hãy thử điều đó và cho chúng tôi biết nếu nó hoạt động cho bạn.usually appears because you installed pyqt5 with pip at some point. Now you have to uninstall Anaconda and reinstall it following the instructions in our video to be able to successfully run Spyder again. Please try that and let us know if it works for you.

Làm cách nào để cài đặt Python Spyder?

Chạy mà không cần cài đặt..
Giải nén gói nguồn có sẵn để tải xuống trên kho lưu trữ Spyder GitHub (hoặc nhân bản nó từ GitHub).
Thay đổi thư mục hiện tại thành thư mục giải nén ..
Cài đặt các yêu cầu của Spyder với: Pip Install -r Yêu cầu/Yêu cầu.TXT ..
Chạy Spyder với lệnh: Python bootstrap.py ..

Làm thế nào để bạn khởi động lại một hạt nhân kernel python?

Mở Spyder.Tạo bất kỳ biến nào trong bảng điều khiển (bước này là không cần thiết).Chọn tùy chọn "Khởi động lại kernel" từ bảng điều khiển "biểu tượng Hambrger" .ccept bằng cách nhấn "OK".Choose "Restart kernel" option from the console "hambrger icon". Accept by pressing "OK".