aspect-build / aspect-build/rules_py

[Bug]: `resolutions.from_requirements` installs all packages from requirements instead of using requirements to resolve virtual dependencies

Open
#362 3 comments 1 reaction 1 assignee Assigned to @mattem View on GitHub
bug
Dominant language
Starlark
Stars
145
Forks
97
Avg merge
1d 1h
Merged PRs (30d)
71

Description

### What happened?

After adding PyQt6 to the dependencies I see the following when trying to create a venv for a target that does not depend on this package:

```
├─▶ Conflicting symlinks found when attempting to create venv. More than one package provides the file at these paths
├─▶ django_pyqt6/site-packages/PyQt6/__init__.py
╰─▶ site-packages/PyQt6/__init__.py
```

### Version

Development (host) and target OS/architectures:

Output of `bazel --version`: 7.0.2

Version of the Aspect rules, or other relevant rules from your
`WORKSPACE` or `MODULE.bazel` file: `HEAD` (`v0.7.3+`)

Language(s) and/or frameworks involved:

### How to reproduce

```shell
Check out https://github.com/dizzy57/rules_py/tree/venv-namespace
Run `bazel run //py/tests/virtual/django:manage`.
```

### Any other information?

Please note that `//py/tests/virtual/django:manage` does not depend on PyQt6 neither directly nor transitively, but merely adding this dependency to `requirements.txt` makes `bazel run` to fail. I expect `rules_py` to mirror `rules_python` behavior here and only install bare minimum of dependencies in the virtualenv.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.