Ubuntu环境下Anaconda安装tensorflow-gpu失败求助
TensorFlow-GPU 2.12.1 Conda安装失败排查与解决
初始安装尝试
执行以下步骤安装TensorFlow-GPU 2.12.1:
conda create --name py311_tf212 python=3.11 numpy numba scipy spyder pandas conda activate py311_tf212 time conda install -c conda-forge tensorflow-gpu
经过3小时依赖分析后安装失败,系统配置:
- Ubuntu 18.04
- glibc版本:2.27
- CUDA版本:11.8
- Nvidia驱动版本:520.61.05
2023-12-19 更新尝试
改为创建环境时直接指定conda-forge渠道:
$ time conda create --name py311_tf2_test -c conda-forge python=3.11 numpy numba scipy spyder pandas tensorflow-gpu ... Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed ... Package expat conflicts for: numpy -> pypy3.9[version='>=7.3.13'] -> expat[version='>=2.2.9,<3.0.0a0|>=2.3.0,<3.0a0|>=2.4.1,<3.0a0|>=2.4.8,<3.0a0|>=2.4.9,<3.0a0|>=2.5.0,<3.0a0|>=2.4.7,<3.0a0'] scipy -> pypy3.9[version='>=7.3.13'] -> expat[version='>=2.2.9,<3.0.0a0|>=2.3.0,<3.0a0|>=2.4.1,<3.0a0|>=2.4.8,<3.0a0|>=2.4.9,<3.0a0|>=2.5.0,<3.0a0'] pandas -> pypy3.9[version='>=7.3.13'] -> expat[version='>=2.2.9,<3.0.0a0|>=2.3.0,<3.0a0|>=2.4.1,<3.0a0|>=2.4.8,<3.0a0|>=2.4.9,<3.0a0|>=2.5.0,<3.0a0'] spyder -> python[version='>=3.12,<3.13.0a0'] -> expat[version='>=2.5.0,<3.0a0'] ... Package typing_extensions conflicts for: numba -> importlib-metadata -> typing_extensions[version='>=3.6.4'] spyder -> ipython[version='>=8.12.2,<9.0.0,!=8.17.1'] -> typing_extensions[version='>=3.10|>=3.10.0|>=3.7|>=3.6.4'] ... The following specifications were found to be incompatible with your system: - feature:/linux-64::__glibc==2.27=0 - feature:/linux-64::__unix==0=0 - feature:|@/linux-64::__glibc==2.27=0 - feature:|@/linux-64::__unix==0=0 - numba -> libgcc-ng[version='>=10.3.0'] -> __glibc[version='>=2.17'] - numpy -> libgcc-ng[version='>=10.3.0'] -> __glibc[version='>=2.17'] - pandas -> libgcc-ng[version='>=10.3.0'] -> __glibc[version='>=2.17'] - python=3.11 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17'] - scipy -> libgfortran-ng -> __glibc[version='>=2.17'] - spyder -> ipython[version='>=8.12.2,<9.0.0,!=8.17.1'] -> __linux - tensorflow-gpu -> tensorflow==2.15.0=cuda118py39h5387621_0 -> __cuda - tensorflow-gpu -> tensorflow==2.6.2=cuda111py37hf54207c_2 -> __glibc[version='>=2.17'] Your installed version is: 2.27 real 32m40.392s
问题分析
- glibc版本不是根源:所有包要求glibc>=2.17,你的系统版本2.27完全满足要求,无需升级。
- Spyder版本冲突:当前conda-forge默认的Spyder为6.x系列,强制要求Python3.12+,但你指定的是Python3.11,这直接导致expat等依赖包的版本需求冲突。
- TensorFlow版本候选显示:日志中出现tensorflow==2.15.0和2.6.2是conda在尝试匹配环境时的候选版本,并非同时依赖——2.15.0适配Python3.9+CUDA118,2.6.2适配Python3.7+CUDA111,均与你的Python3.11环境不匹配,导致依赖解析失败。
解决方案
方案1:拆分安装,指定兼容的Spyder版本
先创建不含Spyder的环境,再安装支持Python3.11的Spyder 5.x版本:
conda create --name py311_tf212 -c conda-forge python=3.11 numpy numba scipy pandas tensorflow-gpu=2.12.1 conda activate py311_tf212 # 安装适配Python3.11的Spyder版本 conda install -c conda-forge spyder=5.4.3
方案2:降低Python版本到3.9,匹配TensorFlow官方推荐
TensorFlow 2.12.1官方支持Python3.8-3.11,conda-forge上的CUDA118适配版本对Python3.9更友好:
conda create --name py39_tf212 -c conda-forge python=3.9 numpy numba scipy spyder pandas tensorflow-gpu=2.12.1
方案3:用Mamba替代Conda,加快依赖解析
Mamba是Conda的替代工具,依赖解析速度远快于Conda,能避免长时间等待:
# 先在base环境安装Mamba conda install -n base -c conda-forge mamba # 用Mamba创建环境,指定兼容的Spyder版本 mamba create --name py311_tf212 -c conda-forge python=3.11 numpy numba scipy spyder=5.4.3 pandas tensorflow-gpu=2.12.1
内容的提问来源于stack exchange,提问作者NikoNyrh
相关产品推荐
相关产品推荐

