Skip to content

Commit

Permalink
refactor: 🗑️ remove unused code in install script
Browse files Browse the repository at this point in the history
  • Loading branch information
melMass committed Oct 9, 2023
1 parent a798eb0 commit 5b75436
Showing 1 changed file with 37 additions and 171 deletions.
208 changes: 37 additions & 171 deletions install.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
import stat
import subprocess
import sys
from contextlib import contextmanager, suppress
from contextlib import contextmanager
from importlib import import_module
from pathlib import Path
from queue import Empty, Queue

import requests

# region constants
here = Path(__file__).parent
executable = Path(sys.executable)

Expand All @@ -29,7 +29,6 @@
if mode is None:
mode = "unknown"

# - Constants
repo_url = "https://github.com/melmass/comfy_mtb.git"
repo_owner = "melmass"
repo_name = "comfy_mtb"
Expand All @@ -38,6 +37,17 @@
"linux": "linux_x86_64",
}
current_platform = platform.system().lower()
pip_map = {
"onnxruntime-gpu": "onnxruntime",
"opencv-contrib": "cv2",
"tb-nightly": "tensorboard",
"protobuf": "google.protobuf",
"qrcode[pil]": "qrcode",
"requirements-parser": "requirements"
# Add more mappings as needed
}

# endregion

# region ansi
# ANSI escape sequences for text styling
Expand Down Expand Up @@ -186,35 +196,6 @@ def _run_command(shell_cmd, ignored_lines_start):
print("Command executed successfully!")


# endregion

try:
import requirements
except ImportError:
print_formatted("Installing requirements-parser...", "italic", color="yellow")
run_command([executable, "-m", "pip", "install", "requirements-parser"])
import requirements

print_formatted("Done.", "italic", color="green")

try:
from tqdm import tqdm
except ImportError:
print_formatted("Installing tqdm...", "italic", color="yellow")
run_command([executable, "-m", "pip", "install", "--upgrade", "tqdm"])
from tqdm import tqdm

pip_map = {
"onnxruntime-gpu": "onnxruntime",
"opencv-contrib": "cv2",
"tb-nightly": "tensorboard",
"protobuf": "google.protobuf",
"qrcode[pil]": "qrcode",
"requirements-parser": "requirements"
# Add more mappings as needed
}


def is_pipe():
if not sys.stdin.isatty():
return False
Expand Down Expand Up @@ -397,6 +378,25 @@ def install_dependencies(dry=False):
import_or_install(requirement, dry=dry)


# endregion

try:
import requirements
except ImportError:
print_formatted("Installing requirements-parser...", "italic", color="yellow")
run_command([executable, "-m", "pip", "install", "requirements-parser"])
import requirements

print_formatted("Done.", "italic", color="green")

try:
from tqdm import tqdm
except ImportError:
print_formatted("Installing tqdm...", "italic", color="yellow")
run_command([executable, "-m", "pip", "install", "--upgrade", "tqdm"])
from tqdm import tqdm


def main():
full = False
if len(sys.argv) == 1:
Expand All @@ -413,29 +413,11 @@ def main():
type=str,
help="Path to clone the repository to (i.e the absolute path to ComfyUI/custom_nodes)",
)
parser.add_argument(
"--wheels", "-w", action="store_true", help="Install wheel dependencies"
)
parser.add_argument(
"--requirements", "-r", action="store_true", help="Install requirements.txt"
)
parser.add_argument(
"--dry",
action="store_true",
help="Print what will happen without doing it (still making requests to the GH Api)",
)

# - keep
# parser.add_argument(
# "--version",
# default=get_local_version(),
# help="Version to check against the GitHub API",
# )
print_formatted("mtb install", "bold", color="yellow")

args = parser.parse_args()

# wheels_directory = here / "wheels"
print_formatted(f"Detected environment: {apply_color(mode,'cyan')}")

if args.path:
Expand All @@ -460,130 +442,14 @@ def main():
here = clone_dir
full = True

# Install dependencies from requirements.txt
# if args.requirements or mode == "venv":

# if (not args.wheels and mode not in ["colab", "embeded"]) and not full:
# print_formatted(
# "Skipping wheel installation. Use --wheels to install wheel dependencies. (only needed for Comfy embed)",
# "italic",
# color="yellow",
# )

# install_dependencies(dry=args.dry)
# sys.exit()

# if mode in ["colab", "embeded"]:
# print_formatted(
# f"Downloading and installing release wheels since we are in a Comfy {apply_color(mode,'cyan')} environment",
# "italic",
# color="yellow",
# )
# if full:
# print_formatted(
# f"Downloading and installing release wheels since no arguments where provided",
# "italic",
# color="yellow",
# )

print_formatted("Checking environment...", "italic", color="yellow")
missing_deps = []
if parsed_requirements := get_requirements(here / "reqs.txt"):
for requirement in parsed_requirements:
installed, pip_name, pip_spec, import_name = try_import(requirement)
if not installed:
missing_deps.append(pip_name.split("-")[0])
install_cmd = [executable, "-m", "pip", "install", "-r", "requirements.txt"]
run_command(install_cmd)

if not missing_deps:
print_formatted(
"All requirements are already installed. Enjoy 🚀",
"italic",
color="green",
)
sys.exit()

# # - Get the tag version from the GitHub API
# tag_data, tag_name = get_github_assets(tag=None)

# # - keep
# version = args.version
# # Compare the local and tag versions
# if version and tag_name:
# if re.match(r"v?(\d+(\.\d+)+)", version) and re.match(
# r"v?(\d+(\.\d+)+)", tag_name
# ):
# version_parts = [int(part) for part in version.lstrip("v").split(".")]
# tag_version_parts = [int(part) for part in tag_name.lstrip("v").split(".")]

# if version_parts > tag_version_parts:
# print_formatted(
# f"Local version ({version}) is greater than the release version ({tag_name}).",
# "bold",
# "yellow",
# )
# sys.exit()

# matching_assets = [
# asset
# for asset in tag_data["assets"]
# if asset["name"].endswith(".whl")
# and (
# "any" in asset["name"] or short_platform[current_platform] in asset["name"]
# )
# ]
# if not matching_assets:
# print_formatted(
# f"Unsupported operating system: {current_platform}", color="yellow"
# )
# wheel_order_asset = next(
# (asset for asset in tag_data["assets"] if asset["name"] == "wheel_order.txt"),
# None,
# )
# if wheel_order_asset is not None:
# print_formatted(
# "⚙️ Sorting the release wheels using wheels order", "italic", color="yellow"
# )
# response = requests.get(wheel_order_asset["browser_download_url"])
# if response.status_code == 200:
# wheel_order = [line.strip() for line in response.text.splitlines()]

# def get_order_index(val):
# try:
# return wheel_order.index(val)
# except ValueError:
# return len(wheel_order)

# matching_assets = sorted(
# matching_assets,
# key=lambda x: get_order_index(x["name"].split("-")[0]),
# )
# else:
# print("Failed to fetch wheel_order.txt. Status code:", response.status_code)

# missing_deps_urls = []
# for whl_file in matching_assets:
# # check if installed
# missing_deps_urls.append(whl_file["browser_download_url"])

# install_cmd = [executable, "-m", "pip", "install"]

# - Install all deps
# if not args.dry:
# if platform.system() == "Windows":
# wheel_cmd = install_cmd + ["-r", (here / "reqs_windows.txt")]
# else:
# wheel_cmd = install_cmd + ["-r", (here / "reqs.txt")]

# run_command(wheel_cmd)
# print_formatted(
# "✅ Successfully installed all dependencies.", "italic", color="green"
# )
# else:
# print_formatted(
# f"Would have run the following command:\n\t{apply_color(' '.join(install_cmd),'cyan')}",
# "italic",
# color="yellow",
# )
print_formatted(
"✅ Successfully installed all dependencies.", "italic", color="green"
)


if __name__ == "__main__":
Expand Down

0 comments on commit 5b75436

Please sign in to comment.