mrtroydev's picture
Upload folder using huggingface_hub
3883c60 verified
import sys
from .commands import run_command, get_python
from .os import is_windows
import os
venv_name = 'venv'
venv_activate_path = f'{venv_name}/' + ('Scripts/activate.bat' if is_windows() else 'bin/activate')
def get_base_prefix_compat():
"""Get base/real prefix, or sys.prefix if there is none."""
return getattr(sys, "base_prefix", None) or getattr(sys, "real_prefix", None) or sys.prefix
def in_venv():
in_conda = os.environ.get('CONDA_PREFIX') is not None
return (get_base_prefix_compat() != sys.prefix) or in_conda
def activate_venv():
if in_venv():
return
if not os.path.isdir(venv_name):
print('no venv found, creating venv')
run_command(f'"{get_python()}"', '-m venv venv')
run_command([('call' if is_windows() else 'source', venv_activate_path), ('python', ' '.join([f'"{arg}"' for arg in sys.argv]))]) # Launch the main.py with the venv
exit() # Exit after the venv'ed version exits (maximum depth will be 2 because the venv is already activated in that case)
def ensure_venv():
if not in_venv():
print('activating venv')
activate_venv()