Anaconda下Python 3.7和3.8之间的切换

0 python installation version anaconda jupyter

我在 Windows 10 上安装了 Anaconda,主要是为了运行 Jupyter Notebook 和 Spyder。

安装后我在 3 个地方找到了 Python 运行时(python.exe),即:

  1. D:\ProgramData\Anaconda3
  2. D:\ProgramData\Anaconda3\pkgs\python-3.7.6-h60c2a47_2
  3. D:\ProgramData\Anaconda3\pkgs\python-3.8.2-he1778fa_13

1. 和 2. 下的 python.exe 相同,并且运行Python 3.7。3.运行Python 3.8

问题:

  1. pkgs下有两个版本(如上面的 2. 和 3.)但只有一个默认版本(如 1.)的理由是什么?

  2. pkgs目录下的内容- 它们是完整的 Python 安装吗?

  3. 让Jupyter Notebook拾取Python 3.8 的最佳方法是什么?它当前选择Python 3.7,因为位置 1. 在 PATH 中。(也就是说,pkgs目录是完整安装吗)?

  4. 如果我想使用Python 3.9,有没有办法将当前的Ananconda升级到那个程度?或者,我是否必须删除当前的Ananconda3并安装提供的最新Anaconda,当然它支持Python 3.9

Fly*_*ler 5

  1. pkgs 下有两个版本(如上面的 II 和 III)但只有一个默认版本(如 I)的理由是什么?
  2. pkgs 目录下的内容 - 它们是完整的 Python 安装吗?

pkgs文件夹只是一种缓存,其中conda保存下载和解压缩的包,以便可以更快地将它们安装到新环境中,因此它们不是可供使用的完整 python 安装。一个环境中只能有一个python 版本,在您的情况下是属于基础环境的版本D:\ProgramData\Anaconda3\python.exe

  1. 如果我想使用 Python 3.9,有没有办法将当前的 Ananconda 升级到那个程度?或者,我是否必须删除当前的Ananconda3并安装提供的最新Anaconda,当然它支持Python 3.9?

要将不同的 python 版本安装到当前环境中,只需执行conda install python=<version>. 您可以使用它conda search python来检查可用的版本,或者在网站上看到默认频道有3.9作为最新版本。然而升级你的基地很可能会失败。Anaconda 附带了大量预安装的软件包,而 python 3.9 太新,因此conda无法解决与较新的 python 版本的依赖关系。最新的anaconda安装程序附带 python 3.8。仅有的

  1. 让 Jupyter Notebook 拾取 Python 3.8 的最佳方法是什么?

要安装多个Python,请使用虚拟环境(因为一个环境中只能有一个Python版本),这非常容易使用:

conda create -n py39 python=3.9
conda create -n py38 python=3.8
conda create -n py37 python=3.7
Run Code Online (Sandbox Code Playgroud)

将创建三个环境,您可以有选择地激活它们

conda activate py37 #or
conda activate py38 #or
conda activate py39
Run Code Online (Sandbox Code Playgroud)

要使用环境,您需要激活它,然后您还可以为该环境安装软件包,例如要为其中之一设置 jupyter,只需执行以下操作

conda activate py37
conda install ipykernel jupyter
python -m ipykernel install --user --name py37 --display-name "Python 3.7"
Run Code Online (Sandbox Code Playgroud)

然后你可以按照你习惯的方式启动jupyter并选择Python 3.6作为内核。

请注意,对于每个环境,您都需要再次安装所有软件包,它们之间没有串扰,所以这样做

conda activate py37
conda install numpy
Run Code Online (Sandbox Code Playgroud)

仅安装numpy到 py37 环境,而不安装到基础、py38 或 py39