Mac Ventura加载spaCy模型触发TensorFlow METAL重复注册错误求助
解决spaCy加载模型时TensorFlow METAL平台重复注册错误
方法1:导入spaCy前禁用TensorFlow的Metal支持
直接通过环境变量强制关闭TensorFlow的Metal加速,避免平台重复注册:
import os # 禁用GPU可见性及Metal加速 os.environ["CUDA_VISIBLE_DEVICES"] = "-1" os.environ["TF_METAL_ENABLED"] = "0" # 屏蔽TensorFlow日志(可选) os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" import spacy nlp = spacy.load("en_core_web_lg")
方法2:用虚拟环境隔离依赖(推荐)
全局安装的TensorFlow和spaCy依赖冲突是问题根源,用虚拟环境完全隔离两者:
- 创建并激活专属虚拟环境:
python3 -m venv spacy_venv source spacy_venv/bin/activate
- 卸载全局TensorFlow(可选,减少全局干扰):
pip uninstall -y tensorflow
- 在虚拟环境内重新安装spaCy及模型:
pip install spacy python -m spacy download en_core_web_lg
之后在该虚拟环境中运行代码即可避免冲突。
方法3:提前初始化TensorFlow并禁用GPU
如果需要保留TensorFlow,可提前导入并配置TensorFlow禁用GPU,避免后续重复注册:
import tensorflow as tf tf.config.set_visible_devices([], 'GPU') import spacy nlp = spacy.load("en_core_web_lg")
内容的提问来源于stack exchange,提问作者Fabian
相关产品推荐
相关产品推荐

