Skip to content

package = wheel not respected for individual env if prior env uses package = editable #3034

@f3flight

Description

@f3flight

Issue

Disclaimer - I'm using tox-pdm plugin but I don't think it matters as it doesn't use pdm to install the main package - it only handles dependencies.

Some parts of the config:

[tox]
envlist = prepare,py310,quality,cli,ci

[testenv]
package = editable

I have a few envs, and one of them overrides this with "package = wheel":

[testenv:cli]
depends = prepare
package = wheel

When I run tox, if there's another env before that (I use "depends" as you can see) which has no override and therefore uses editable package, then this env called "cli" also gets editable package installed, despite the override.

If I run the env separately with "tox -e cli" then I get expected behavior (not an editable wheel but a normal wheel), but if I run all envs I get incorrect behavior, cli env gets editable wheel installed.

Environment

Provide at least:

  • OS: Linux
  • pip list of the host Python where tox is installed:
Package                           Version
--------------------------------- ---------
... list is pretty long so showing what's important:
tox                               4.4.8
tox-pdm                           0.6.1
...

Output of running tox

Provide the output of tox -rvv:

$ grep editable tox.out
Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-c58s8t1i.json
.pkg: 12313 W get_requires_for_build_editable> python /home/user/.shiv/tools.pyz_7b47253112c59d7d9564833f351bcff8e94f39b278af5838f13df13f179ac62c/site-packages/pyproject_api/_backend.py True setuptools.build_meta [tox/tox_env/api.py:428]
Backend: run command get_requires_for_build_editable with args {'config_settings': None}
Backend: Wrote response {'return': ['wheel']} to /tmp/pep517_get_requires_for_build_editable-s9qogo0m.json
.pkg: 12683 W install_requires_for_build_editable> python -I -m pip install wheel [tox/tox_env/api.py:428]
.pkg: 14194 W build_editable> python /home/user/.shiv/tools.pyz_7b47253112c59d7d9564833f351bcff8e94f39b278af5838f13df13f179ac62c/site-packages/pyproject_api/_backend.py True setuptools.build_meta [tox/tox_env/api.py:428]
Backend: run command build_editable with args {'wheel_directory': '/home/user/Repos/python-native-build-test-cli/.tox/.pkg/dist', 'config_settings': {'--build-option': []}, 'metadata_directory': None}
running editable_wheel
adding '__editable__.python_native_build_test_cli-0.0.1.pth'
creating '/home/user/Repos/python-native-build-test-cli/.tox/.pkg/dist/.tmp-wj05idmr/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl' and adding '/tmp/tmp9o0vhv1opython_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl' to it
Backend: Wrote response {'return': 'python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl'} to /tmp/pep517_build_editable-9ophnhgz.json
.pkg: 14274 D package .tmp/package/5/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl links to .pkg/dist/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl (/home/user/Repos/python-native-build-test-cli/.tox) [tox/util/file_view.py:36]
py310: 68116 W install_package> python -I -m pip install --force-reinstall --no-deps /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/5/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl [tox/tox_env/api.py:428]
Processing ./.tox/.tmp/package/5/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl
py310: 68875 I exit 0 (0.76 seconds) /home/user/Repos/python-native-build-test-cli> python -I -m pip install --force-reinstall --no-deps /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/5/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl pid=15449 [tox/execute/api.py:275]
.pkg: 78990 D package .tmp/package/6/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl links to .pkg/dist/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl (/home/user/Repos/python-native-build-test-cli/.tox) [tox/util/file_view.py:36]
quality: 131484 W install_package> python -I -m pip install --force-reinstall --no-deps /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/6/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl [tox/tox_env/api.py:428]
Processing ./.tox/.tmp/package/6/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl
quality: 132270 I exit 0 (0.78 seconds) /home/user/Repos/python-native-build-test-cli> python -I -m pip install --force-reinstall --no-deps /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/6/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl pid=16296 [tox/execute/api.py:275]
.pkg: 143165 D package .tmp/package/7/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl links to .pkg/dist/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl (/home/user/Repos/python-native-build-test-cli/.tox) [tox/util/file_view.py:36]
cli: 192020 W install_package> python -I -m pip install --force-reinstall --no-deps /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/7/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl [tox/tox_env/api.py:428]
Processing ./.tox/.tmp/package/7/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl
cli: 192801 I exit 0 (0.78 seconds) /home/user/Repos/python-native-build-test-cli> python -I -m pip install --force-reinstall --no-deps /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/7/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl pid=17257 [tox/execute/api.py:275]
.pkg: 216109 D delete package /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/5/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:179]
.pkg: 216109 D delete package /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/7/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:179]
.pkg: 216109 D delete package /home/user/Repos/python-native-build-test-cli/.tox/.tmp/package/6/python_native_build_test_cli-0.0.1-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:179]

Metadata

Metadata

Assignees

No one assigned

    Labels

    help:wantedIssues that have been acknowledged, a solution determined and a PR might likely be accepted.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions