|
import os
|
|
import shutil
|
|
import subprocess
|
|
import argparse
|
|
|
|
def setup_diffusers(target_dir):
|
|
|
|
diffusers_dir = os.path.join(target_dir, "diffusers")
|
|
|
|
|
|
os.makedirs(target_dir, exist_ok=True)
|
|
|
|
|
|
if os.path.exists(diffusers_dir):
|
|
print(f"Diffusers already exists in {target_dir}. Skipping clone.")
|
|
return
|
|
|
|
|
|
subprocess.run(["git", "clone", "https://github.com/huggingface/diffusers"],
|
|
cwd=target_dir, check=True)
|
|
|
|
|
|
original_dir = os.getcwd()
|
|
os.chdir(diffusers_dir)
|
|
try:
|
|
subprocess.run(["pip", "install", "-e", "."], check=True)
|
|
finally:
|
|
os.chdir(original_dir)
|
|
|
|
print(f"Diffusers successfully cloned and installed to {diffusers_dir}")
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description="Setup diffusers in a specified directory.")
|
|
parser.add_argument("--target-dir", type=str, default="src/third_party",
|
|
help="Target directory to clone diffusers into (default: src)")
|
|
|
|
args = parser.parse_args()
|
|
setup_diffusers(args.target_dir)
|
|
|