import subprocess, sys, os, time, errno, shlex from IPython.display import clear_output, Image, display from IPython import get_ipython from pathlib import Path xxx = Path('/kaggle/working') script = xxx / 'venv.py' img = xxx / "loading.png" vnv = Path('/kaggle/venv') url = 'https://huggingface.co/pantat88/back_up/resolve/main/venv-torch241-cu121.tar.lz4' fn = Path(url).name os.chdir(xxx) sys.path.append(str(xxx)) get_ipython().system('curl -sLO https://raw.githubusercontent.com/gutris1/segsmaker/main/script/loading.png') get_ipython().system('curl -sLO https://raw.githubusercontent.com/gutris1/segsmaker/main/kaggle/script/pantat88.py') display(Image(filename=str(img))) time.sleep(1) from pantat88 import say, download say('【{red} Installing VENV{d} 】{red}') req_list = [ "curl -LO https://github.com/DEX-1101/sd-webui-notebook/raw/main/res/new_tunnel", "curl -Lo /usr/bin/cl https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64", "apt-get update", "apt -y install pv", "pip install -q aria2 cloudpickle", "chmod +x /usr/bin/cl" ] for items in req_list: subprocess.run(shlex.split(items), stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) def she_bang(): vnv_bin = vnv / 'bin' old_shebang = b'#!/home/studio-lab-user/tmp/venv/bin/python3\n' new_shebang = f"#!{vnv}/bin/python3\n" for script in vnv_bin.glob('*'): if script.is_file(): try: with open(script, 'r+b') as file: lines = file.readlines() if lines and lines[0] == old_shebang: lines[0] = new_shebang.encode('utf-8') file.seek(0) file.writelines(lines) file.truncate() print(f"Updated shebang in {script.name} to {new_shebang.strip()}") except OSError as e: if e.errno == 26: print(f"Skipped {script.name}") else: print(f"Failed to update {script.name}: {e}") def venv_install(): os.chdir('/kaggle') download(url) extract_venv = f'pv {fn} | lz4 -d | tar xf -' get_ipython().system(extract_venv) Path(fn).unlink() get_ipython().system(f'rm -rf {vnv / "bin" / "pip*"}') get_ipython().system(f'rm -rf {vnv / "bin" / "python*"}') get_ipython().system(f'python3 -m venv {vnv}') get_ipython().system(f'{vnv}/bin/python3 -m pip install -q --upgrade --force-reinstall pip') venv_install() she_bang() clear_output(wait=True) script.unlink() os.chdir(xxx)