Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,341 Bytes
24ad251 20fff88 24ad251 9ec56ae 14788de 24ad251 1bc0980 24ad251 5fff857 24ad251 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import subprocess
from pathlib import Path
PIXI_PATH = Path("/home/user/.pixi/bin/pixi")
PIXI_VERSION = "0.32.1"
def check_and_install_pixi() -> None:
try:
subprocess.check_call(f"{PIXI_PATH} --version", shell=True)
except subprocess.CalledProcessError:
print("pixi not found. Installing pixi...")
# Install pixi using the provided installation script
subprocess.check_call(
f"PIXI_VERSION=v{PIXI_VERSION} curl -fsSL https://pixi.sh/install.sh | bash",
shell=True,
)
subprocess.check_call(
f"{PIXI_PATH} self-update --version {PIXI_VERSION}", shell=True
)
subprocess.check_call(f"{PIXI_PATH} --version", shell=True)
def run_command(command: str) -> None:
try:
subprocess.check_call(command, shell=True)
except subprocess.CalledProcessError as e:
print(f"run command {command}. Error: {e}")
if __name__ == "__main__":
check_and_install_pixi()
# install lsof
run_command(command=f"{PIXI_PATH} global install lsof")
# kill anything running on port 7860
run_command(command=f"{PIXI_PATH.parent}/lsof -t -i:7860 | xargs -r kill")
# clean current environment
run_command(command=f"{PIXI_PATH} clean")
# run spaces app
run_command(command=f"{PIXI_PATH} run -e spaces app")
|