[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 核心程式啟動錯誤
本文也順便要來解決 Sypder IDE 的 IPython 主控台出現核心程式啟動錯誤的問題。
使用 Spyder 時,有些原因會導致 IPython 主控台出現核心程式啟動錯誤,例如:
- 使用獨立安裝的 Python 做為直譯器
- 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.4
或
pip 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
No comments yet.