Conda安装TensorFlow时Python版本/架构异常及3.7+兼容性问题
Conda安装TensorFlow时Python版本、架构识别异常问题
问题复现过程
按照TensorFlow官方安装文档说明,TensorFlow 2兼容Python 3.7-3.10版本,实际通过Conda安装TensorFlow时,出现Python版本被自动篡改、系统架构识别异常的问题,pipenv安装也存在同类异常,复现步骤如下:
- 初始环境检测
全新创建Conda虚拟环境并激活后,基础环境信息如下:
此时终端$ conda create -n conda-tf-ard-pyd; conda activate conda-tf-ard-pyd $ arch arm64 $ python3 -c "import platform, sys; print(sys.version, '\n', platform.architecture(), '\n', platform.machine())" 3.8.9 (default, Apr 13 2022, 08:48:06) [Clang 13.1.6 (clang-1316.0.21.2.5)] ('64bit', '') arm64arch返回arm64,Python识别架构为arm64,运行版本为3.8.9。 - 默认安装TensorFlow后的异常
在上述环境执行conda install tensorflow完成安装后,终端arch命令输出仍为arm64,但Python环境内信息出现异常:
Python被自动降级到3.7.13,架构识别从原生$ arch arm64 $ python3 -c "import platform, sys; print(sys.version, '\n', platform.architecture(), '\n', platform.machine())" 3.7.13 (default, Mar 28 2022, 07:24:34) [Clang 12.0.0 ] ('64bit', '') x86_64arm64变为x86_64。 - 高版本Python环境的安装报错
全新创建环境时先安装iPython、pandas,环境内Python自动升级到3.10,此时安装TensorFlow直接抛出依赖冲突错误:
报错提示当前源内的TensorFlow仅支持Python 2.7.|3.7.|3.6.*|3.5.*版本,和官方标注的3.7-3.10兼容范围不符。UnsatisfiableError: The following specifications were found to be incompatible with the existing python installation in your environment: Specifications: - tensorflow -> python[version='2.7.*|3.7.*|3.6.*|3.5.*'] Your python: python=3.10
根因说明
- Conda默认源的TensorFlow包版本严重滞后,仍为仅支持Python3.7及更早版本的旧发行版,安装时会自动将环境内Python降级到匹配版本;同时旧版TensorFlow未提供arm64架构原生包,会自动拉取x86_64版本依赖通过Rosetta转译运行,最终导致架构识别异常。
- 安装时未明确指定包版本、适配架构与软件源,Conda依赖解析逻辑默认拉取可匹配的最旧兼容包,而非最新的官方适配版本。
解决步骤
- 第一步:创建虚拟环境时明确指定Python版本,避免后续安装时被自动降级,推荐选择兼容性最优的3.9版本:
conda create -n tf-env python=3.9 conda activate tf-env - 第二步:使用conda-forge源安装适配arm64架构的TensorFlow包,不要使用默认源的老旧包:
conda install -c conda-forge tensorflow - 第三步:若Conda源安装仍存在依赖冲突,直接使用当前虚拟环境内的pip安装官方预编译包,安装前先确认pip对应架构为arm64:
pip install tensorflow - 第四步:安装完成后执行版本、架构检测命令,确认Python版本未被篡改、架构识别为
arm64,且TensorFlow可正常导入即可。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

