Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Missing pip dependencies with venvs_site_packages=yes

Offen
#3,672 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
python

Rechercherichtung

Beginne mit der py_test-Regel und reproduziere den im Traceback beschriebenen logger_tests_py_test-Fehler mit venvs_site_packages=yes. Untersuche die erzeugte virtuelle Umgebung und die Abhängigkeitsbehandlung für pytest, py, pluggy und iniconfig; das Issue ist abgeschlossen, wenn die von pytest benötigten transitiven Pakete konsistent vorhanden sind und das Ziel erfolgreich ausgeführt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

🐞 bug report

Affected Rule
The issue is caused by the rule: `py_test`
Is this a regression?
No
Description
Pip dependencies are missing for py_test targets.
  1. Ex: pytest pip package depends on py pip package. Adding pytest to the deps for py_test doesn't include its transitive dependencies, e.g. py (and others). It does include some transitive dependencies though, e.g. pluggy
  2. In the above example, adding py as an explicit dependency in deps fixes the problem as it gets included in the generated venv. However, this 'fix' doesn't work for iniconfig, another missing transitive dependency of pytest - it doesn't get included in the venv

🔬 Minimal Reproduction

🔥 Exception or Error




Traceback (most recent call last):                                                                                                                                                                                                          
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual_stage2_bootstrap.py", line 537, in                                                                                                                                                     
    main()                                                                                                                                                                                                                                  
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual_stage2_bootstrap.py", line 531, in main                                                                                                                                                        
    _run_py_path(main_filename, args=sys.argv[1:])                                                                                                                                                                                          
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual_stage2_bootstrap.py", line 319, in _run_py_path                                                                                                                                                
    runpy.run_path(main_filename, run_name="__main__")                                                                                                                                                                                      
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/execroot/_main/external/rules_python++python+python_3_10_x86_64-unknown-linux-gnu/lib/python3.10/runpy.py", line 289, in run_path     
    return _run_module_code(code, init_globals, run_name,                                                                                                                                                                                   
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/execroot/_main/external/rules_python++python+python_3_10_x86_64-unknown-linux-gnu/lib/python3.10/runpy.py", line 96, in _run_module_co
de                                                                                                                                                                                                                                          
    _run_code(code, mod_globals, init_globals,                                                                                                                                                                                              
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/execroot/_main/external/rules_python++python+python_3_10_x86_64-unknown-linux-gnu/lib/python3.10/runpy.py", line 86, in _run_code     
    exec(code, run_globals)                                                                                                                                                                                                                 
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/build_supp
ort/python/pytest_proxy.py", line 7, in                                                                                                                                                                                             
    from pytest import console_main                                                                                                                                                                                                         
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual.venv/lib/python3.10/site-packages/pytest/__init__.py", line 6, in                                                                                                                      
    from _pytest.assertion import register_assert_rewrite                                                                                                                                                                                   
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual.venv/lib/python3.10/site-packages/_pytest/assertion/__init__.py", line 9, in                                                                                                           
    from _pytest.assertion import rewrite                                                                                                                                                                                                   
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual.venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py", line 34, in                                                                                                           
    from _pytest.assertion import util
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual.venv/lib/python3.10/site-packages/_pytest/assertion/util.py", line 19, in 
    from _pytest.config import Config
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual.venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 45, in 
    from .findpaths import determine_setup
  File "/scratch/nikolay_nikolov/.cache/bazel/_bazel_nikolay_nikolov/79bf5e678fbb2019f1e30944a206f079/sandbox/linux-sandbox/890/execroot/_main/bazel-out/k8-opt/bin/barrel/core/common/logger/logger_tests_py_test.runfiles/_main/barrel/cor
e/common/logger/_logger_tests_py_test_actual.venv/lib/python3.10/site-packages/_pytest/config/findpaths.py", line 12, in 
    import iniconfig
ModuleNotFoundError: No module named 'iniconfig'

🌍 Your Environment

Operating System:

  
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 13 (trixie)
Release:        13
Codename:       trixie
  

Output of bazel version:

  
Build label: 8.3.1
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Mon Jun 30 16:23:40 2025 (1751300620)
Build timestamp: 1751300620
Build timestamp as int: 1751300620
  

Rules_python version:

  
1.9.0
  

Anything else relevant?

No

Vorherrschende Sprache
Starlark
Sterne
690
Forks
722
Ø Merge
1 T. 55 Min.
Gemergte PRs (30 T.)
38

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus bazel-contrib/rules_python

Alle Issues in bazel-contrib/rules_python

Ähnliche Issues

Weitere Issues zu Build System

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.