Skip to content

Nox fails to run on newest version without UV installed.  #907

@btemplep

Description

@btemplep

Current Behavior

nox fails to run without UV installed.
I'm using python 3.12.8, but also tested on 3.8.

No nox file required. Nox errors out before even looking at the file. Fresh install of only nox.

deps:

argcomplete==3.5.3
colorlog==6.9.0
distlib==0.3.9
filelock==3.16.1
nox==2024.10.9
packaging==24.2
platformdirs==4.3.6
virtualenv==20.28.1

Run :

nox

Output:

Traceback (most recent call last):
  File "/home/btemplep/venv_nox/bin/nox", line 5, in <module>
    from nox.__main__ import main
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/__init__.py", line 18, in <module>
    from nox._options import noxfile_options as options
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/_options.py", line 28, in <module>
    from nox.tasks import discover_manifest, filter_manifest, load_nox_module
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/tasks.py", line 32, in <module>
    from nox.manifest import WARN_PYTHONS_IGNORED, Manifest
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/manifest.py", line 25, in <module>
    from nox.sessions import Session, SessionRunner
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/sessions.py", line 43, in <module>
    import nox.virtualenv
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/virtualenv.py", line 103, in <module>
    UV_PYTHON_SUPPORT = uv_version() >= version.Version("0.4.16")
                        ^^^^^^^^^^^^
  File "/home/btemplep/venv_nox/lib/python3.12/site-packages/nox/virtualenv.py", line 74, in uv_version
    ret = subprocess.run(
          ^^^^^^^^^^^^^^^
  File "/home/btemplep/.pyenv/versions/3.12.8/lib/python3.12/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/btemplep/.pyenv/versions/3.12.8/lib/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/home/btemplep/.pyenv/versions/3.12.8/lib/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'uv'

Nox is unuable without installing UV.
It's an issue with the error handling for the UV version.
https://github.com/wntrblm/nox/blob/main/nox/virtualenv.py#L114

Expected Behavior

The nox command to complete without exceptions

Steps To Reproduce

  1. Install latest stable nox. (2024.10.9)

Environment

- OS:Ubuntu 20.04
- Python: 3.12.8, 3.8.19
- Nox:2024.10.9

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions