UFM / UniCeption /scripts /install_croco_rope.py
infinity1096
initial commit
c8b42eb
raw
history blame
2.08 kB
#!/usr/bin/env python3
"""
Console script to install CroCo RoPE extension.
"""
import os
import subprocess
import sys
from pathlib import Path
def install_croco_rope():
"""Install CroCo RoPE extension."""
try:
# Find the project root (where setup.py is located)
script_dir = Path(__file__).parent
project_root = script_dir.parent
curope_path = project_root / "uniception" / "models" / "libs" / "croco" / "curope"
if curope_path.exists():
print("Installing CroCo RoPE extension...")
original_cwd = os.getcwd()
try:
os.chdir(curope_path)
subprocess.check_call([sys.executable, "setup.py", "build_ext", "--inplace"])
print("CroCo RoPE extension installed successfully!")
return True
except subprocess.CalledProcessError as e:
print(f"Warning: Failed to install CroCo RoPE extension: {e}")
print("You can install it later by running:")
print(f"cd {curope_path} && python setup.py build_ext --inplace")
return False
finally:
os.chdir(original_cwd)
else:
print("Warning: CroCo RoPE source code not found.")
print(f"Expected location: {curope_path}")
return False
except Exception as e:
print(f"Warning: Error during CroCo RoPE installation: {e}")
return False
def main():
"""Main entry point for the CroCo RoPE installation script."""
print("UniCeption CroCo RoPE Extension Installer")
print("=" * 45)
success = install_croco_rope()
if success:
print("\n✓ CroCo RoPE extension installation completed successfully!")
sys.exit(0)
else:
print("\n⚠ CroCo RoPE extension installation failed or skipped.")
print("This is typically due to missing CUDA development tools.")
print("The extension is optional and UniCeption will work without it.")
sys.exit(1)
if __name__ == "__main__":
main()