在Anaconda中升级Python版本(高版本Python无法与spyder兼容)

我的Anaconda是在2020年底装的,当时的Python版本还是3.8.8,这几天学习GEE的时候,考虑到可能会用到Python,所以尝试升级一下Python的版本。升级的时候遇到了不少问题,前后花了两个多小时才解决,最后才发现问题的所在是高版本python无法与spyder兼容。

可以输入如下代码检查环境下的当前的python版本号:

python --version

                          

按照常规思路,希望输入以下一系列代码来实现python的更新:

conda update conda

会出现:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第1张图片

输入“y”以继续操作,会出现如下情况:

 输入第二条代码:

conda update anaconda

紧接着出现:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第2张图片

再输入如下代码,感觉就要更新成功了:

conda update python

很不幸,系统提示我们Python的安装受到限制:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第3张图片

这里我感到非常疑惑,于是采取了另一种方式,即通过创建新的虚拟环境来安装最新的python(这里新的虚拟环境名字为new):

输入:

conda create -n new

得到:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第4张图片输入

activate new

这样就将new环境激活,可以看到前面小括号里的(base)变为了(new)

    在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第5张图片

这时输入

conda update python

系统会报错,提示我们现在还没有安装python环境,看来创建新的环境并不会自动创建python环境:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第6张图片

我们先不急着安装python,转而去安装spyder(后面会解释为什么)

 它会给我们提示安装了一长串东西(这里没有显示完,东西真的非常多):

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第7张图片

往下拉,会发现里面有python3.9.12:

所以说安装了spyder后我们实际上就已经安装了python环境。

在spyder安装完成后输入

python --version

 会发现我们已经安装了python3.9.12:

                        

这时即使更新python,版本却不会变,意思会不会是3.9.12已经是最新版本了呢?(后面会解答)

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第8张图片

 这时我们打开spyder,输入如下代码来查看python版本:

import sys
#sys模块提供了一系列有关Python运行环境的变量和函数。
print(sys.version)
#sys.version用来获取Python解释程序的版本信息

不过要记得先将环境调为我们新创建的虚拟环境:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第9张图片可以在spyder的控制台下看见如下输出,说明确实是3.9.12版本:

那么问题来了,3.9.12版本是否就是最新的版本呢?

这里我们做一个测试,新建一个虚拟环境new_2:

这时我们先不装spyder,而是装python,会发现它提示我们要安装的是python3.10.4,可见3.9.12并不是最新版本(见最下面一行):

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第10张图片

这就很奇怪了,安装后检查python版本,果然是3.10.4

                         

这时再安装spyder的话,竟然会发现无法安装:

在Anaconda中升级Python版本(高版本Python无法与spyder兼容)_第11张图片

综上,我推测3.10.4的版本无法与spyder兼容。在安装spyder时,3.9.12已经是它所支持的最高版本了。

总结:

可以通过先创建新的虚拟环境、再安装spyder来获得较新的python版本,但这种版本可能不是最新的python版本。

如果大家还有疑问的话可以给我发私信询问。

 

 

 

 

你可能感兴趣的:(python)