Mac OS运行Cartoon-StyleGan2遇Streamlit torch模块缺失错误
解决Mac OS下Streamlit运行Cartoon-StyleGan2时的torch模块找不到问题
核心问题分析
问题本质是Streamlit调用的Python环境与你安装torch的环境不匹配,加上Mac(尤其是Apple Silicon芯片)对旧版PyTorch(1.8.0)支持有限,导致版本安装和环境适配出现冲突。
分步解决方案
1. 确认Streamlit绑定的Python环境
先明确Streamlit实际使用的Python解释器,避免环境错位:
- 运行命令:
streamlit --version,输出内容里会显示对应Python版本的路径 - 将该路径与你安装torch的Python路径(运行
which python3或which python获取)对比,若不一致,说明Streamlit使用的是另一个独立环境
2. 用安装了torch的环境启动Streamlit
如果环境不匹配,直接调用装有torch的Python来启动Streamlit:
- 假设你的torch安装在
python3环境中,运行:python3 -m streamlit run 你的启动脚本.py(把python3换成你实际使用的Python命令,比如python或python3.9)
3. 放弃旧版PyTorch,用Mac兼容的稳定版
原项目的1.8.0是针对CUDA 11.1开发的,Mac(尤其是Apple Silicon)不支持CUDA,且1.8.0没有适配新版Python的安装包,直接使用你已安装的torch 2.6.0即可:
- 先验证当前环境torch可用:运行
python3 -c "import torch; print(torch.__version__)",确认输出2.6.0 - 再用该环境启动Streamlit,命令同上
4. 用虚拟环境彻底隔离(推荐)
若之前环境混乱,用venv创建干净的虚拟环境:
- 创建环境:
python3 -m venv cartoon-gan-env - 激活环境:
source cartoon-gan-env/bin/activate - 安装依赖:
- 先安装适配Mac的torch:
pip install torch torchvision(自动安装兼容当前Python的版本) - 再安装项目其他依赖:
pip install -r requirements.txt(若requirements.txt里指定了torch==1.8.0,先删除该行,替换为torch>=2.0.0)
- 先安装适配Mac的torch:
- 启动Streamlit:
streamlit run 你的启动脚本.py
5. 修正requirements.txt的兼容性
打开项目的requirements.txt,删除torch==1.8.0、torchvision==0.9.0这类旧版本指定,替换为:
torch>=2.0.0 torchvision>=0.15.0
新版PyTorch对Cartoon-StyleGan2的兼容性足够,不会影响功能运行,同时适配Mac环境。
内容的提问来源于stack exchange,提问作者Chuah Sze Wei
相关产品推荐
相关产品推荐

