Skip to content

clearml-agent 2.0.3 fails to locate uv #251

@H4dr1en

Description

@H4dr1en

I updated clearml-agent to 2.0.3 and switched to using uv, I am now getting the following error during the setup of any Task by the agent:

UV Enabled: Ignoring requested python packages, using repository uv lock file!
DEBUG:clearml_agent.helper.package.uv_api:running: Executing: ('clearml_agent_venv/bin/uv', 'sync', '--locked')
ERROR:clearml_agent.commands.worker:Failed installing uv requirements from lock file: [Errno 2] No such file or directory: 'clearml_agent_venv/bin/uv'
Traceback (most recent call last):
  File "/clearml_agent_venv/lib/python3.10/site-packages/clearml_agent/commands/worker.py", line 3728, in _install_uv_requirements
    self.package_api.install()
  File "/clearml_agent_venv/lib/python3.10/site-packages/clearml_agent/helper/package/uv_api.py", line 221, in install
    self.lock_config.run("sync", "--locked", cwd=str(self.lockfile_path), func=Argv.check_call)
  File "/clearml_agent_venv/lib/python3.10/site-packages/clearml_agent/helper/package/uv_api.py", line 117, in run
    ret = func(argv, **kwargs)
  File "/clearml_agent_venv/lib/python3.10/site-packages/clearml_agent/helper/process.py", line 205, in check_call
    return self.call_subprocess(subprocess.check_call, *args, **kwargs)
  File "/clearml_agent_venv/lib/python3.10/site-packages/clearml_agent/helper/process.py", line 262, in call_subprocess
    return func(list(self), *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 364, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 345, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'clearml_agent_venv/bin/uv'

I setup my agent as such:

  # Install clearml-agent in virtual env
  python3 -m venv clearml_agent_venv
  source clearml_agent_venv/bin/activate
  export PATH="clearml_agent_venv/bin:$PATH"
  python -m pip install clearml-agent==2.0.3
  echo "agent.package_manager.type = uv" > /root/clearml.conf
  python -m clearml_agent -d --config-file '/root/clearml.conf' daemon --detach --queue '...'

and I run this from the root folder (this is a ec2 user data script, so it is executed upon instance creation). clearml_agent_venv/bin/uv does exist

When I replace clearml-agent==2.0.3 with clearml-agent==1.9.3, it works fine

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions