Spaces:
Sleeping
Sleeping
| import os | |
| import sys | |
| import subprocess | |
| import importlib.metadata | |
| def config_env(): | |
| packages_to_install = [ | |
| ('gradio',None), | |
| ('numpy',None), | |
| ('tensorflow', '2.9'), | |
| ('keras', '2.9'), | |
| ('opencv-python-headless', '4.5.5.64'), | |
| ('python-dotenv', None), | |
| ('torch', None), | |
| ('torchvision', None), | |
| ('xplique', None), | |
| ('segment_anything', None), | |
| ('panopticapi', None), | |
| ('keras_cv_attention_models',None) | |
| ] | |
| name_to_command = {'segment_anything':'git+https://github.com/facebookresearch/segment-anything.git', | |
| 'panopticapi':'git+https://github.com/cocodataset/panopticapi.git', | |
| } | |
| env_name = os.path.basename(sys.prefix) | |
| print(env_name) | |
| for package, version in packages_to_install: | |
| package_spec = f"{package}=={version}" if version else package | |
| package_spec = name_to_command[package_spec] if package_spec in name_to_command else package_spec | |
| if not is_pkg_installed(package): | |
| subprocess.call(f"pip install {package_spec}".split()) | |
| else: | |
| print(f"{package_spec} is already installed.") | |
| #print(os.getenv('SYSTEM')) | |
| ''' | |
| if os.getenv('SYSTEM') == 'spaces': | |
| subprocess.call('pip install tensorflow==2.9'.split()) | |
| subprocess.call('pip install keras==2.9'.split()) | |
| subprocess.call('pip install git+https://github.com/facebookresearch/segment-anything.git'.split()) | |
| subprocess.call('pip install opencv-python-headless==4.5.5.64'.split()) | |
| subprocess.call('pip install git+https://github.com/cocodataset/panopticapi.git'.split()) | |
| subprocess.call('pip install python-dotenv'.split()) | |
| subprocess.call('pip install torch torchvision '.split()) | |
| subprocess.call('pip install xplique'.split()) | |
| ''' | |
| def is_pkg_installed(pkg_name): | |
| try: | |
| importlib.metadata.distribution(pkg_name) | |
| return True | |
| except importlib.metadata.PackageNotFoundError: | |
| return False | |