[Python]Miniconda 的使用說明

Anaconda、Miniconda

一般用過 Anaconda 的人應該都是直接安裝 Anaconda 的「全家桶」來開發 Python 程式。維基百科記載: Anaconda 是一個開源的 Python 和 R 語言的發行版本,用於計算科學 (資料科學、機器學習、大數據處理和預測分析),擁有超過 1400 個套件...。

2023/10 最新的 Anaconda 版本為 v2023.09-0,安裝好約 4.6GB

但如果你像我一樣,根本用不到那麼多套件,只想使用 Anaconda 中的虛擬環境、套件管理、Spyder IDE,那麼你應該選擇精簡版的 Miniconda,再另外安裝最新版的 Spyder,或其它 Python 的 IDE 來使用。

檔案下載及安裝 (2023/10):

  • Miniconda: 最新版本為 v23.9.0 (Python 3.11.5),安裝好約 310MB
  • Spyder·GitHub:
    • 最新的穩定版為 v5.4.5,安裝好約 950MB
    • 最新的預覽版為 v6.0.0a2,安裝好約 2.5GB (經測試,Spyder v6.0.0a2 有內建一支程式 _conda.exe,可用來管理虛擬環境,但不能用來安裝套件,使用的方法補充在文末)。
    • 建議安裝穩定版即可。

核心啟動錯誤

使用 Spyder IDE 時,有些原因會導致 Sypder 的 IPython 主控台會出現核心啟動錯誤,例如:

  1. 使用獨立安裝的 Python 做為直譯器
  2. Spyder 需要的模組版本與 Python 裡的 spyder-kernels 版本不一致

錯誤訊息如下:

An error ocurred while starting the kernel
The Python environment or installation whose interpreter is located at
  C:\Program Files\Python311\python.exe
doesn't have the spyder‑kernels module or the right version of it installed (>= 2.4.0 and < 2.5.0). Without this module is not possible for Spyder to create a console for you.

You can install it by activating your environment first (if necessary) and then running in a system terminal:
  conda install spyder-kernels=2.4
or
  pip install spyder-kernels==2.4.*

或:

啟動核心時發生錯誤
Python 開發環境的直譯器位於:
  C:\Program Files\Python311\python.exe
因為缺少 spyder‑kernels 模組,或是沒有安裝正確的版本 (>= 2.4.0 並且 < 2.5.0),所以 Spyder 無法建立主控台。

你可以先啟用你的虛擬環境 (如有必要),然後在系統終端機執行下列指令來安裝此模組:
  conda install spyder-kernels=2.4pip install spyder-kernels==2.4.*

雖然錯誤訊息直接告訴你用 conda 或 pip 指令即可安裝 spyder-kernels,但通常只有用 conda 來安裝 spyder-kernels 才能解決問題! Spyder 的官方建議也是用 Anaconda 或 Miniconda 來建立虛擬環境和安裝模組。所以只好安裝 Miniconda 後,再參考本文下方的「新增虛擬環境給 Spyder IDE 使用」教學來使用。

Miniconda 相關指令 (Anaconda 也適用)

Anaconda 與 Miniconda 都是使用 conda 這支程式來管理虛擬環境與套件。

安裝 Miniconda 後執行「Anaconda Powershell Prompt」或「Anaconda Prompt」進入 Miniconda 的終端機介面。

常用的 Conda 指令:

  • conda --version: 查看 Conda 版本
  • conda -h: 查看 Conda 的說明
  • conda <Command> -h: 查看特定參數的說明
  • conda info: 查看 Conda 及虛擬環境的資訊
  • conda env list: 列出全部的虛擬環境
  • conda env remove -n <EnvName>: 移除虛擬環境
  • conda create -n <EnvName> <PackageName>: 建立虛擬環境,後面的 <PackageName> 參數可自動裝好指定的套件
    • conda create -n <EnvName> python=<Version> <PackageName>: 建立虛擬環境,並指定 Python 版本
  • conda activate <EnvName>: 啟用並進入虛擬環境
  • conda deactivate: 退出目前的虛擬環境

虛擬環境內的指令:

  • conda install <PackageName>: 安裝套件於目前的虛擬環境
  • conda list: 查看目前虛擬環境安裝的套件 (會與 pip 查詢的結果不同)
  • conda update <PackageName>: 更新套件
    • conda update conda: 更新 Conda
  • conda remove <PackageName>: 移除目前虛擬環境的套件 (等同 conda uninstall)
    • conda remove -n <EnvName> <PackageName>: 移除特定虛擬環境的套件
    • conda remove -n <EnvName> --all: 移除整個虛擬環境 (等同 conda env remove)

PS. Conda 與 pip 都可以安裝 Python 的套件,建議優先用 conda install 指令安裝,如果找不到套件,再改用 pip install 指令安裝。

新增虛擬環境給 Spyder IDE 使用

以下範例會新增一個 Python v3.11.5 的虛擬環境給 Spyder IDE 使用。

1. 建立虛擬環境,並安裝 spyder-kernels 套件:

(base) PS C:\Users\User> conda create -n spyder-env-3.11.5 python=3.11.5 spyder-kernels
Retrieving notices: ...working... done
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\User\miniconda3\envs\spyder-env-3.11.5

  added / updated specs:
    - python=3.11.5
    - spyder-kernels

The following NEW packages will be INSTALLED:

  asttokens          pkgs/main/noarch::asttokens-2.0.5-pyhd3eb1b0_0
  backcall           pkgs/main/noarch::backcall-0.2.0-pyhd3eb1b0_0
  bzip2              pkgs/main/win-64::bzip2-1.0.8-he774522_0
  ca-certificates    pkgs/main/win-64::ca-certificates-2023.08.22-haa95532_0
  cloudpickle        pkgs/main/win-64::cloudpickle-2.2.1-py311haa95532_0
  colorama           pkgs/main/win-64::colorama-0.4.6-py311haa95532_0
  comm               pkgs/main/win-64::comm-0.1.2-py311haa95532_0
  debugpy            pkgs/main/win-64::debugpy-1.6.7-py311hd77b12b_0
  decorator          pkgs/main/noarch::decorator-5.1.1-pyhd3eb1b0_0
  executing          pkgs/main/noarch::executing-0.8.3-pyhd3eb1b0_0
  ipykernel          pkgs/main/win-64::ipykernel-6.25.0-py311h746a85d_0
  ipython            pkgs/main/win-64::ipython-8.15.0-py311haa95532_0
  jedi               pkgs/main/win-64::jedi-0.18.1-py311haa95532_1
  jupyter_client     pkgs/main/win-64::jupyter_client-8.1.0-py311haa95532_0
  jupyter_core       pkgs/main/win-64::jupyter_core-5.3.0-py311haa95532_0
  libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_0
  libsodium          pkgs/main/win-64::libsodium-1.0.18-h62dcd97_0
  matplotlib-inline  pkgs/main/win-64::matplotlib-inline-0.1.6-py311haa95532_0
  nest-asyncio       pkgs/main/win-64::nest-asyncio-1.5.6-py311haa95532_0
  openssl            pkgs/main/win-64::openssl-3.0.11-h2bbff1b_2
  packaging          pkgs/main/win-64::packaging-23.1-py311haa95532_0
  parso              pkgs/main/noarch::parso-0.8.3-pyhd3eb1b0_0
  pickleshare        pkgs/main/noarch::pickleshare-0.7.5-pyhd3eb1b0_1003
  pip                pkgs/main/win-64::pip-23.3-py311haa95532_0
  platformdirs       pkgs/main/win-64::platformdirs-3.10.0-py311haa95532_0
  prompt-toolkit     pkgs/main/win-64::prompt-toolkit-3.0.36-py311haa95532_0
  psutil             pkgs/main/win-64::psutil-5.9.0-py311h2bbff1b_0
  pure_eval          pkgs/main/noarch::pure_eval-0.2.2-pyhd3eb1b0_0
  pygments           pkgs/main/win-64::pygments-2.15.1-py311haa95532_1
done
#
# To activate this environment, use
#
#     $ conda activate spyder-env-3.11.5
#
# To deactivate an active environment, use
#
#     $ conda deactivate

2. 查看新增的虛擬環境:

(base) PS C:\Users\User> conda env list
# conda environments:
#
base                  *  C:\Users\User\miniconda3
spyder-env-3.11.5        C:\Users\User\miniconda3\envs\spyder-env-3.11.5

3. 於 Spyder 的「偏好設定」中變更 Python 直譯器:

PS. 要讓 Spyder IDE 擁有精美的正體中文介面,請參考這裡

補充: 用 Spyder 6.0.0a2 的 _conda.exe 建立虛擬環境

1. 執行 cmd 命令提示字元,進到 Spyder6 的安裝目錄:

C:\Users\User>cd C:\Users\User\AppData\Local\spyder-6
C:\Users\User\AppData\Local\spyder-6>_conda.exe --version
conda 23.5.1.dev102

2. 建立虛擬環境:

C:\Users\User\AppData\Local\spyder-6>_conda.exe create -n py3.11.5 python=3.11.5
 Collecting package metadata (current_repodata.json): done
 Solving environment: done

## Package Plan ##

environment location: C:\Users\User\.conda\envs\py3.11.5

added / updated specs:
 - python=3.11.5

The following packages will be downloaded:

 package                    |            build
 ---------------------------|-----------------
 bzip2-1.0.8                |       he774522_0         113 KB
 ca-certificates-2023.08.22 |       haa95532_0         123 KB
 libffi-3.4.4               |       hd77b12b_0         113 KB
 openssl-3.0.11             |       h2bbff1b_2         7.4 MB
 pip-23.3                   |  py311haa95532_0         3.5 MB
 python-3.11.5              |       he1021f5_0        18.0 MB
 setuptools-68.0.0          |  py311haa95532_0         1.2 MB
 sqlite-3.41.2              |       h2bbff1b_0         894 KB
 tk-8.6.12                  |       h2bbff1b_0         3.1 MB
 tzdata-2023c               |       h04d1e81_0         116 KB
 vc-14.2                    |       h21ff451_1           8 KB
 vs2015_runtime-14.27.29016 |       h5e58377_2        1007 KB
 wheel-0.41.2               |  py311haa95532_0         163 KB
 xz-5.4.2                   |       h8cc25b3_0         592 KB
 zlib-1.2.13                |       h8cc25b3_0         113 KB
 ------------------------------------------------------------
 Total:        36.4 MB
...
 Preparing transaction: done
 Verifying transaction: done
 Executing transaction: done
 #
 # To activate this environment, use
 #
 #     $ conda activate py3.11.5
 #
 # To deactivate an active environment, use
 #
 #     $ conda deactivate

C:\Users\User\AppData\Local\spyder-6>_conda.exe env list
 # conda environments:
 #
 py3.11.5                 C:\Users\User\.conda\envs\py3.11.5
 base                     C:\Users\User\AppData\Local\spyder-6
 spyder-runtime           C:\Users\User\AppData\Local\spyder-6\envs\spyder-runtime

建立好虛擬環境,有提示你虛擬環境的目錄為 C:\Users\User\.conda\envs\py3.11.5。測試 _conda activate 指令無法正常使用,所以要自行到虛擬環境的目錄用 pip 指令安裝 spyder-kernels 模組。

3. 安裝 spyder-kernels 模組:

C:\Users\User\AppData\Local\spyder-6>cd C:\Users\User\.conda\envs\py3.11.5\Scripts
C:\Users\User\.conda\envs\py3.11.5\Scripts>pip.exe install spyder-kernels==3.0.0b2
Collecting spyder-kernels==3.0.0b2
  Downloading spyder_kernels-3.0.0b2-py3-none-any.whl.metadata (4.9 kB)
...
Successfully installed asttokens-2.4.0 backcall-0.2.0 cloudpickle-3.0.0 colorama-0.4.6 comm-0.1.4 debugpy-1.8.0 decorator-5.1.1 executing-2.0.0 ipykernel-6.25.2 ipython-8.16.1 jedi-0.19.1 jupyter-client-8.4.0 jupyter-core-5.4.0 matplotlib-inline-0.1.6 nest-asyncio-1.5.8 packaging-23.2 parso-0.8.3 pickleshare-0.7.5 platformdirs-3.11.0 prompt-toolkit-3.0.39 psutil-5.9.6 pure-eval-0.2.2 pygments-2.16.1 python-dateutil-2.8.2 pywin32-306 pyzmq-25.1.1 six-1.16.0 spyder-kernels-3.0.0b2 stack-data-0.6.3 tornado-6.3.3 traitlets-5.11.2 wcwidth-0.2.8

 

參考網頁

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了讚: