Transformers
Inference Endpoints
ui / venv.py
pantat88's picture
Update venv.py
1e15258 verified
raw
history blame
2.64 kB
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)