有什么方法可以将当前具有Python 3.8.11的conda基础(根)环境更新为Python 3.9或3.10?我知道使用新的虚拟环境是推荐的方法,但我仍然想学习如何做到这一点。
我尝试使用
conda install python=3.9
和 conda install python=3.10
,这是几年前一些帖子推荐的,但它们不起作用,最终出现以下错误
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
另外,使用
conda update python
仅更改了微版本号(我认为它从Python 3.8.10升级到3.8.11)
根据您的错误消息您无法将 conda base 升级到 python 3.10,因为这会导致不兼容。 (据说 numpy 包存在一些问题。)所以你必须等待下一个 Anaconda 版本。
但是,conda 的重点在于使用虚拟环境:
conda create --name py10 python=3.10
这允许您立即安装 Python 3.10。
就做吧
conda update python
你应该没问题。如果你特别想要3.10,你可以做conda install python="3.10"
。
这将更新您当前的环境版本
@victormaricato 的上述答案是正确的。 “conda更新python”。我在“base”环境中多次使用“conda update python”。你应该没问题。您必须要有耐心,因为您正在更新安装的基础。我曾经花了2.5个小时,最终没有错误地完成了。还有几次因为冲突太多而失败了。
如果您需要 3.10,您可以执行“conda install python='3.10'”。
如果必须,您可以使用“conda install 'python=3.10' --force-reinstall”将 v3.10 强制安装到您的基础中。但是,您可能会面临破坏“基础”环境的风险。 (想想所有其他依赖于早期版本的汽车发动机的汽车零件!)
想象一下尝试从纽约市街道下拆除整个锅炉房!!更换虚拟环境中的运行时引擎会产生重大影响,因为其他一切都取决于它。
最佳实践是创建一个新环境,不要管你的基础,而是用它来管理其他特定于项目的环境。
不要用太多东西污染你的基地,因为你需要用它来管理其他一切。
您应该始终先执行“conda update conda”。 然后执行“conda update --all”。然后执行“conda update python”。
您需要确保 conda 始终是最新版本,因为它们会定期修复错误并加快速度。偶尔会与 conda 本身发生一些特定的冲突,但这不会持续很长时间。
正如其他人所建议的,Mamba 速度更快,并且与 conda 100% 命令兼容。
请参阅 Conda 命令参考