[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 主控台出现核心程式启动错误,例如:

  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 位部落客按了赞: