M1 Mac中无法通过TensorFlow启动Jupyter Notebook的问题求助
解决M1 Mac TensorFlow环境中Jupyter Notebook架构不兼容问题
问题根源
错误提示里的_device.cpython-38-darwin.so是x86_64架构的二进制文件,而M1 Mac需要arm64e架构版本,说明你的TensorFlow环境中混入了x86架构的zmq(Jupyter核心依赖包)。大概率是安装时从非原生arm64的频道拉取了包,或是通过x86版本的Anaconda Navigator启动时触发了架构冲突。
解决方案
方案1:重装arm64版本的Jupyter依赖包
- 打开终端,激活你的TensorFlow环境:
conda activate macos-tensorflow64 - 强制卸载现有冲突包:
conda remove --force zmq jupyter jupyter_core jupyter_client ipython ipykernel - 配置conda优先使用提供原生arm64包的conda-forge频道:
conda config --add channels conda-forge conda config --set channel_priority strict - 重新安装Jupyter及依赖:
conda install zmq jupyter ipykernel
方案2:用pip重装原生架构包
如果conda安装仍有问题,可尝试用环境内的pip强制重装:
conda activate macos-tensorflow64 pip install --force-reinstall pyzmq jupyter
方案3:直接从终端启动Jupyter
官方Anaconda Navigator目前无原生arm64版本,运行在Rosetta 2下,从它启动Jupyter可能调用x86的Python解释器,和你的arm64 TensorFlow环境冲突。直接通过终端启动即可规避:
conda activate macos-tensorflow64 jupyter notebook
这样就能确保使用环境内的arm64版本Jupyter,与TensorFlow架构完全匹配。
内容的提问来源于stack exchange,提问作者Kokodoko
相关产品推荐
相关产品推荐

