mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-07 07:08:31 +00:00
44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
import subprocess
|
|
|
|
import click
|
|
from packaging import version
|
|
|
|
from crewai.cli.utils import get_crewai_version, read_toml
|
|
|
|
|
|
def run_crew() -> None:
|
|
"""
|
|
Run the crew by running a command in the UV environment.
|
|
"""
|
|
command = ["uv", "run", "run_crew"]
|
|
crewai_version = get_crewai_version()
|
|
min_required_version = "0.71.0"
|
|
|
|
pyproject_data = read_toml()
|
|
|
|
if pyproject_data.get("tool", {}).get("poetry") and (
|
|
version.parse(crewai_version) < version.parse(min_required_version)
|
|
):
|
|
click.secho(
|
|
f"You are running an older version of crewAI ({crewai_version}) that uses poetry pyproject.toml. "
|
|
f"Please run `crewai update` to update your pyproject.toml to use uv.",
|
|
fg="red",
|
|
)
|
|
print()
|
|
|
|
try:
|
|
subprocess.run(command, capture_output=False, text=True, check=True)
|
|
|
|
except subprocess.CalledProcessError as e:
|
|
click.echo(f"An error occurred while running the crew: {e}", err=True)
|
|
click.echo(e.output, err=True, nl=True)
|
|
|
|
if pyproject_data.get("tool", {}).get("poetry"):
|
|
click.secho(
|
|
"It's possible that you are using an old version of crewAI that uses poetry, please run `crewai update` to update your pyproject.toml to use uv.",
|
|
fg="yellow",
|
|
)
|
|
|
|
except Exception as e:
|
|
click.echo(f"An unexpected error occurred: {e}", err=True)
|