如何通过Conda安装旧版本Python及同期依赖包?
解决Conda无法安装旧版本Python及对应依赖的问题
以下是几种可行的解决方案,针对Python 3.6、2.7这类旧版本的安装需求:
1. 用Mamba替代Conda处理旧包搜索
Mamba是Conda的替代工具,对旧包索引的检索效率更高,能找到很多Conda默认索引中缺失的旧版本包:
- 先在base环境安装Mamba:
conda install -n base conda-forge::mamba - 用Mamba创建旧Python环境,示例:
mamba create -n py36_env python=3.6.7 - 若需要指定频道,可添加
-c conda-forge:mamba create -n py36_env -c conda-forge python=3.6.7
2. 降级Conda到兼容旧Python的版本
新版本Conda(如23.x及以后)不再支持Python 2.7、3.6这类超旧版本,需先降级base环境的Conda:
- 降级到支持旧Python的Conda版本(比如4.10.3):
conda install -n base conda=4.10.3 - 之后创建旧Python环境,示例:
conda create -n py36_env python=3.6.7 - 若仍找不到包,添加conda-forge频道:
conda create -n py36_env -c conda-forge python=3.6.7
3. 指定conda-forge的旧版本标签频道
conda-forge保留了针对旧版本生态的标签频道,可直接指定这些频道获取旧包:
- 安装Python 3.6.7示例:
conda create -n py36_env -c conda-forge/label/cf201901 python=3.6.7 - 安装Python 2.7.18示例:
conda create -n py27_env -c conda-forge/label/cf201901 python=2.7.18
4. 离线安装本地包
若上述方法均无效,可下载对应Python版本的离线conda包(.tar.bz2格式),然后本地安装:
- 创建空环境:
conda create -n py36_env - 激活环境:
conda activate py36_env - 安装本地下载好的Python包:
conda install /path/to/python-3.6.7-h9f7ef89_0.tar.bz2 - 后续安装依赖时,同样可使用离线包或指定兼容的旧频道
额外提示
创建环境时,建议同时指定依赖包的版本范围,确保与目标Python版本兼容,比如:
conda create -n py36_env python=3.6.7 numpy=1.16 pandas=0.24
内容的提问来源于stack exchange,提问作者klebsiella
相关产品推荐
相关产品推荐

