我正在尝试在 Colab 笔记本中以可编辑模式安装 python 包(结构为 diffusers/src/diffusers/)。它安装成功,但我无法导入包,除非我使用 import src.diffusers 。这不是一个可行的解决方案,因为包中的代码充满了自身的绝对导入。
我唯一能找到的建议是 Colab 要求您使用 sys.path.append() 将包目录添加到 PYTHONPATH。好吧,path.append() 根本无法更新 PYTHONPATH。我找到了另一种实际更改 PYTHONPATH 的方法,但这无济于事 - 我仍然收到错误 ImportError: cannot import name 'StableDiffusionPipeline' from 'diffusers' (unknown location).
转载如下:
!pip install torch
!pip install accelerate
!git clone https://github.com/huggingface/diffusers
%cd diffusers
!git checkout v0.14.0
!pip install -e ".[torch]"
import os, sys
print(os.getcwd())
sys.path.append(os.getcwd())
!echo $PYTHONPATH
os.environ['PYTHONPATH'] = os.getcwd() + ':' + os.environ.get('PYTHONPATH', '')
%cd src
os.environ['PYTHONPATH'] = os.getcwd() + ':' + os.environ.get('PYTHONPATH', '')
%cd diffusers
os.environ['PYTHONPATH'] = os.getcwd() + ':' + os.environ.get('PYTHONPATH', '')
!echo $PYTHONPATH
%cd ../../..
!pip install transformers scipy ftfy
#%cd diffusers
import torch
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16)