[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.