jetify-com / devbox

Instant, easy, and predictable development environments
https://www.jetify.com/devbox/
Apache License 2.0
8.32k stars 194 forks source link

Cannot install pip-tools for Python 3.12 #1784

Open frafra opened 7 months ago

frafra commented 7 months ago

What happened?

I am trying to add pip-tools, but it fails. The output of devbox add suggest reporting this issue with a full log.

Steps to reproduce

  1. devbox add python312Packages.pip-tools

Command

add

devbox.json

{
  "packages": [
    "python@3.12"
  ],
  "shell": {
    "init_hook": [
      ". $VENV_DIR/bin/activate",
      "python3 -m pip install -r requirements.txt"
    ]
  }
}

Devbox version

0.9.0

Nix version

No response

What system does this bug occur on?

Linux (x86-64)

Debug logs

2024/02/05 11:13:03 findProjectDir: path is 2024/02/05 11:13:03 finding devbox config in dir: /home/francesco.frassinell/Code/html-column-to-text 2024/02/05 11:13:03 findProjectDir: path is 2024/02/05 11:13:03 finding devbox config in dir: /home/francesco.frassinell/Code/html-column-to-text 2024/02/05 11:13:03 findProjectDir: path is 2024/02/05 11:13:03 finding devbox config in dir: /home/francesco.frassinell/Code/html-column-to-text Info: Adding package "python312Packages.pip-tools@latest" to devbox.json 2024/02/05 11:13:03 Creating files for package "python@3.12" create files 2024/02/05 11:13:03 Creating file "/home/francesco.frassinell/Code/html-column-to-text/.devbox/virtenv/python/bin/venvShellHook.sh" from contentPath: "pip/venvShellHook.sh" [1/1] python312Packages.pip-tools 2024/02/05 11:13:03 Running cmd: /home/francesco.frassinell/bin/nix build --impure --extra-experimental-features ca-derivations --option experimental-features nix-command flakes fetch-closure --no-link github:NixOS/nixpkgs/dd5621df6dcb90122b50da5ec31c411a0de3e538#python312Packages.pip-tools 2024/02/05 11:14:56 Nix build exit code: 1, output: this derivation will be built: /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv building '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'... error: builder for '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv' failed with exit code 1; last 10 log lines:

tests/test_resolver.py::test_resolver[input16-expected16-False-unsafe_constraints16] /nix/store/bx64fkd0lxsv12nzlwpyqgyz5p0hfc2r-python3.12-pip-23.3.1/lib/python3.12/site-packages/pip/_internal/models/link.py:445: PipDeprecationWarning: DEPRECATION: git+https://github.com/celery/billiard#egg=billiard==3.5.9999 contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/11617 deprecated(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_sync.py::test_diff_should_not_uninstall - AssertionError: assert {'distribute'...ols', 'wheel'} == set() FAILED tests/test_cli_compile.py::test_combine_different_extras_of_the_same_package[backtracking resolver] - AssertionError: assert 'fake-colorfu...irements.in\n' == 'fake-colorfu...ir... =========== 2 failed, 723 passed, 325 warnings in 108.48s (0:01:48) ============ /nix/store/v5irq7wvkr7kih0hhnch5nnv2dcq8c4f-stdenv-linux/setup: line 1557: pop_var_context: head of shell_variables not a function context For full logs, run 'nix log /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'. error: builder for '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv' failed with exit code 1; last 10 log lines: tests/test_resolver.py::test_resolver[input16-expected16-False-unsafe_constraints16] /nix/store/bx64fkd0lxsv12nzlwpyqgyz5p0hfc2r-python3.12-pip-23.3.1/lib/python3.12/site-packages/pip/_internal/models/link.py:445: PipDeprecationWarning: DEPRECATION: git+https://github.com/celery/billiard#egg=billiard==3.5.9999 contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/11617 deprecated(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_sync.py::test_diff_should_not_uninstall - AssertionError: assert {'distribute'...ols', 'wheel'} == set() FAILED tests/test_cli_compile.py::test_combine_different_extras_of_the_same_package[backtracking resolver] - AssertionError: assert 'fake-colorfu...irements.in\n' == 'fake-colorfu...ir... =========== 2 failed, 723 passed, 325 warnings in 108.48s (0:01:48) ============ /nix/store/v5irq7wvkr7kih0hhnch5nnv2dcq8c4f-stdenv-linux/setup: line 1557: pop_var_context: head of shell_variables not a function context For full logs, run 'nix log /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'.

[1/1] python312Packages.pip-tools: Fail

Error: error installing package python312Packages.pip-tools@latest source: nix build exit code: 1, output: this derivation will be built: /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv building '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'... error: builder for '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv' failed with exit code 1; last 10 log lines:

tests/test_resolver.py::test_resolver[input16-expected16-False-unsafe_constraints16] /nix/store/bx64fkd0lxsv12nzlwpyqgyz5p0hfc2r-python3.12-pip-23.3.1/lib/python3.12/site-packages/pip/_internal/models/link.py:445: PipDeprecationWarning: DEPRECATION: git+https://github.com/celery/billiard#egg=billiard==3.5.9999 contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/11617 deprecated(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_sync.py::test_diff_should_not_uninstall - AssertionError: assert {'distribute'...ols', 'wheel'} == set() FAILED tests/test_cli_compile.py::test_combine_different_extras_of_the_same_package[backtracking resolver] - AssertionError: assert 'fake-colorfu...irements.in\n' == 'fake-colorfu...ir... =========== 2 failed, 723 passed, 325 warnings in 108.48s (0:01:48) ============ /nix/store/v5irq7wvkr7kih0hhnch5nnv2dcq8c4f-stdenv-linux/setup: line 1557: pop_var_context: head of shell_variables not a function context For full logs, run 'nix log /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'. error: builder for '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv' failed with exit code 1; last 10 log lines: tests/test_resolver.py::test_resolver[input16-expected16-False-unsafe_constraints16] /nix/store/bx64fkd0lxsv12nzlwpyqgyz5p0hfc2r-python3.12-pip-23.3.1/lib/python3.12/site-packages/pip/_internal/models/link.py:445: PipDeprecationWarning: DEPRECATION: git+https://github.com/celery/billiard#egg=billiard==3.5.9999 contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/11617 deprecated(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_sync.py::test_diff_should_not_uninstall - AssertionError: assert {'distribute'...ols', 'wheel'} == set() FAILED tests/test_cli_compile.py::test_combine_different_extras_of_the_same_package[backtracking resolver] - AssertionError: assert 'fake-colorfu...irements.in\n' == 'fake-colorfu...ir... =========== 2 failed, 723 passed, 325 warnings in 108.48s (0:01:48) ============ /nix/store/v5irq7wvkr7kih0hhnch5nnv2dcq8c4f-stdenv-linux/setup: line 1557: pop_var_context: head of shell_variables not a function context For full logs, run 'nix log /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'. , err: exit status 1

2024/02/05 11:14:56 Command stderr: this derivation will be built: /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv building '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'... error: builder for '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv' failed with exit code 1; last 10 log lines:

tests/test_resolver.py::test_resolver[input16-expected16-False-unsafe_constraints16] /nix/store/bx64fkd0lxsv12nzlwpyqgyz5p0hfc2r-python3.12-pip-23.3.1/lib/python3.12/site-packages/pip/_internal/models/link.py:445: PipDeprecationWarning: DEPRECATION: git+https://github.com/celery/billiard#egg=billiard==3.5.9999 contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/11617 deprecated(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_sync.py::test_diff_should_not_uninstall - AssertionError: assert {'distribute'...ols', 'wheel'} == set() FAILED tests/test_cli_compile.py::test_combine_different_extras_of_the_same_package[backtracking resolver] - AssertionError: assert 'fake-colorfu...irements.in\n' == 'fake-colorfu...ir... =========== 2 failed, 723 passed, 325 warnings in 108.48s (0:01:48) ============ /nix/store/v5irq7wvkr7kih0hhnch5nnv2dcq8c4f-stdenv-linux/setup: line 1557: pop_var_context: head of shell_variables not a function context For full logs, run 'nix log /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'. error: builder for '/nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv' failed with exit code 1; last 10 log lines: tests/test_resolver.py::test_resolver[input16-expected16-False-unsafe_constraints16] /nix/store/bx64fkd0lxsv12nzlwpyqgyz5p0hfc2r-python3.12-pip-23.3.1/lib/python3.12/site-packages/pip/_internal/models/link.py:445: PipDeprecationWarning: DEPRECATION: git+https://github.com/celery/billiard#egg=billiard==3.5.9999 contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce this behaviour change. A possible replacement is to use the req @ url syntax, and remove the egg fragment. Discussion can be found at https://github.com/pypa/pip/issues/11617 deprecated(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_sync.py::test_diff_should_not_uninstall - AssertionError: assert {'distribute'...ols', 'wheel'} == set() FAILED tests/test_cli_compile.py::test_combine_different_extras_of_the_same_package[backtracking resolver] - AssertionError: assert 'fake-colorfu...irements.in\n' == 'fake-colorfu...ir... =========== 2 failed, 723 passed, 325 warnings in 108.48s (0:01:48) ============ /nix/store/v5irq7wvkr7kih0hhnch5nnv2dcq8c4f-stdenv-linux/setup: line 1557: pop_var_context: head of shell_variables not a function context For full logs, run 'nix log /nix/store/yk3l9axqianqrarwfgyxadq99zhhg39r-python3.12-pip-tools-7.3.0.drv'.

2024/02/05 11:14:56 ExecutionID:b84aae6f52314554a2d80a18cca61f99

2024/02/05 11:14:56 findProjectDir: path is 2024/02/05 11:14:56 finding devbox config in dir: /home/francesco.frassinell/Code/html-column-to-text
jeroenhabets commented 1 week ago

Interestingly enough devbox add python-full does install python 3.12.5 with pip