You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter环境导入SCVI包报错:jax模块未初始化完全无version属性

M1 Mac下SCVI导入报错(jax循环导入)修复方案

环境背景

  • 设备:M1芯片Mac,系统版本13.0.1
  • Python版本:3.9.15,运行环境为Jupyter
  • 已执行操作:通过以下命令完成SCVI及scvi-tools安装
    !pip3 install SCVI
    !pip install "scvi-tools[tutorials]"
    
  • 报错信息:执行import scvi时触发
    AttributeError: partially initialized module 'jax' has no attribute 'version' (most likely due to a circular import)
    

排查与修复步骤

1. 修复jax依赖损坏/版本不兼容问题

jax循环导入错误多由安装损坏或版本冲突导致,执行以下命令重装依赖:

# 卸载现有冲突包
pip uninstall -y jax jaxlib scvi-tools scvi
# 安装适配M1的jax CPU版本(优先解决基础运行问题)
pip install "jax[cpu]" --upgrade
# 重新安装scvi-tools完整包
pip install "scvi-tools[tutorials]"

2. 使用mambaforge创建纯净隔离环境(推荐)

全局环境依赖混乱是常见诱因,用mamba创建专属环境可彻底规避:

# 创建新环境,指定Python3.9版本
mamba create -n scvi_env python=3.9 -y
# 激活环境
conda activate scvi_env
# 安装scanpy(bioconda源适配M1)
mamba install scanpy -c bioconda -y
# 安装scvi-tools教程版
pip install "scvi-tools[tutorials]"

3. 启用M1 GPU加速(可选)

若需利用M1芯片GPU,安装支持Metal的jaxlib版本:

pip uninstall jaxlib -y
# 安装适配arm64的metal版jaxlib
pip install jaxlib==0.4.16 -f https://storage.googleapis.com/jax-releases/jaxlib_releases.html

验证GPU是否识别:

import jax
print(jax.devices())

输出包含MetalDevice即表示GPU配置生效。

4. 关联Jupyter内核到新环境

若在Jupyter中使用隔离环境,需添加对应内核:

conda activate scvi_env
pip install ipykernel -y
python -m ipykernel install --user --name=scvi_env

之后在Jupyter界面切换至scvi_env内核运行代码即可。

内容的提问来源于stack exchange,提问作者Samuel S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 16:05:26