我的Anaconda是在2020年底装的,当时的Python版本还是3.8.8,这几天学习GEE的时候,考虑到可能会用到Python,所以尝试升级一下Python的版本。升级的时候遇到了不少问题,前后花了两个多小时才解决,最后才发现问题的所在是高版本python无法与spyder兼容。
可以输入如下代码检查环境下的当前的python版本号:
python --version
按照常规思路,希望输入以下一系列代码来实现python的更新:
conda update conda
会出现:
输入“y”以继续操作,会出现如下情况:
输入第二条代码:
conda update anaconda
紧接着出现:
再输入如下代码,感觉就要更新成功了:
conda update python
很不幸,系统提示我们Python的安装受到限制:
这里我感到非常疑惑,于是采取了另一种方式,即通过创建新的虚拟环境来安装最新的python(这里新的虚拟环境名字为new):
输入:
conda create -n new
得到:
activate new
这样就将new环境激活,可以看到前面小括号里的(base)变为了(new)
这时输入
conda update python
系统会报错,提示我们现在还没有安装python环境,看来创建新的环境并不会自动创建python环境:
我们先不急着安装python,转而去安装spyder(后面会解释为什么)
它会给我们提示安装了一长串东西(这里没有显示完,东西真的非常多):
往下拉,会发现里面有python3.9.12:
所以说安装了spyder后我们实际上就已经安装了python环境。
在spyder安装完成后输入
python --version
会发现我们已经安装了python3.9.12:
这时即使更新python,版本却不会变,意思会不会是3.9.12已经是最新版本了呢?(后面会解答)
这时我们打开spyder,输入如下代码来查看python版本:
import sys
#sys模块提供了一系列有关Python运行环境的变量和函数。
print(sys.version)
#sys.version用来获取Python解释程序的版本信息
不过要记得先将环境调为我们新创建的虚拟环境:
可以在spyder的控制台下看见如下输出,说明确实是3.9.12版本:
那么问题来了,3.9.12版本是否就是最新的版本呢?
这里我们做一个测试,新建一个虚拟环境new_2:
这时我们先不装spyder,而是装python,会发现它提示我们要安装的是python3.10.4,可见3.9.12并不是最新版本(见最下面一行):
这就很奇怪了,安装后检查python版本,果然是3.10.4
这时再安装spyder的话,竟然会发现无法安装:
综上,我推测3.10.4的版本无法与spyder兼容。在安装spyder时,3.9.12已经是它所支持的最高版本了。
可以通过先创建新的虚拟环境、再安装spyder来获得较新的python版本,但这种版本可能不是最新的python版本。
如果大家还有疑问的话可以给我发私信询问。