修改 Conda 环境的 Python 版本并不是一个简单的命令操作,直接升级往往伴随着依赖冲突的风险。作为长期维护多个开发环境的技术人员,我更倾向于通过创建新环境来平滑过渡,而不是强行修改旧环境。下面分享几种稳妥的方案和实战流程。
方案一:创建新环境并指定版本(推荐)
这是最安全、最可控的方式。虽然需要重新安装包,但能彻底避免历史遗留的依赖问题。
# 1. 查看当前所有环境
conda info --envs
# 2. 创建新环境,明确指定 Python 版本
conda create -n my_new_env python=3.9
# 3. 激活环境
conda activate my_new_env
# 4. 安装所需依赖
conda install pytorch torchvision d2l jupyter matplotlib pandas
如果不想手动一个个敲命令,也可以从旧环境导出包列表后克隆:
# 导出旧环境包列表
conda list --explicit > package-list.txt
# 基于列表创建新环境并指定 Python 版本
conda create -n my_new_env --file package-list.txt python=3.9
方案二:直接更新当前环境(高风险)
如果你确定要原地升级,务必先备份。Conda 在解析依赖时可能会因为版本跨度太大而报错或破坏现有环境。
# 1. 备份当前环境配置
conda list --explicit > environment_backup.txt
# 2. 更新 conda 自身及所有包(建议先执行)
conda update conda
conda update --all
# 3. 尝试安装目标 Python 版本
conda install python=3.9
# 4. 验证版本
python --version
方案三:利用 environment.yml 重建
如果你有 environment.yml 文件,这其实是管理环境的标准做法。只需修改其中的 Python 版本号,即可快速重建一致的环境。
编辑 environment.yml:
name: my_env
channels:
- pytorch
- conda-forge
- defaults
dependencies:
- python=3.9
- pytorch=2.0.1
- torchvision=0.15.2
- d2l=1.0.3
-


