`generate-build-details.py --relative-paths --config-file-path` writes wrong paths
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- build-system
Rechercherichtung
Beginne mit Tools/build/generate-build-details.py und untersuche make_paths_relative(), das im Bericht als Ursache der falschen Pfade genannt wird. Reproduziere das Beispiel mit --relative-paths --config-file-path und vergleiche die geschriebenen Pfade headers, base_interpreter und libpython mit den Pfaden relativ zum absoluten Präfix. Fertig ist die Arbeit, wenn diese Werte korrekt sind und nicht davon abhängen, in welchem Verzeichnis das Skript ausgeführt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Bug report
PEP 739 says a relative base_prefix is relative to the directory that contains build-details.json, and the other paths are relative to base_prefix. With --relative-paths --config-file-path, make_paths_relative() first replaces base_prefix with a path relative to the config file's directory, such as ../... It then computes the other paths relative to that relative base_prefix instead of the absolute one, so they're wrong.
For example, for an install whose prefix is /opt/python, running this from /tmp/build:
./python Tools/build/generate-build-details.py \
/opt/python/lib/python3.16/build-details.json \
--relative-paths \
--config-file-path /opt/python/lib/python3.16/build-details.json
writes "base_prefix": "../..", which is correct, but also "headers": "./opt/python/include/python3.16" instead of ./include/python3.16. base_interpreter and the libpython paths are wrong in the same way. Because the relative base_prefix ends up resolved against the current directory, the wrong values also change with the directory the script runs from: from /Users/me/src/cpython/build, headers becomes ./../../../opt/python/include/python3.16.
see astral-sh/python-build-standalone#885 for example of how PBS deals with this issue.
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
- Vorherrschende Sprache
- Python
- Sterne
- 77.6k
- Forks
- 38.4k
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 589
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/cpython
-
type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
stdlib type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
stdlib topic-XML type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Docs: problem with page "msvcrt — Useful routines from the MS VC runtime"Evtl. wieder frei @jikekei hat das vor 10 Tagen übernommen, und es ist kein Pull Request offen. Offendocs
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
python/cpython#159072 · 6 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Document unpacking in generator expressions (PEP 798)Evtl. vergeben @Marwan-verse hat das vor 8 Tagen übernommen. Offendocs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
python/cpython#159061 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
anchore/grype-db#1149 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: `hermes plugins update` clones an entire monorepo twice - `subdir` is resolved but dropped at both catalog-update call sitesEvtl. vergeben @HootRock hat das heute übernommen. Offencomp/cli P2 type/perf
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
NousResearch/hermes-agent#142417 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
SMC SPEC
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
tenstorrent/tt-oca-harness#3287 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug enhancement python
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
DewaldOosthuizen/tech-cheat-sheets-and-notes#392 ·
Maintainer antworten meist innerhalb von 1 Tag
-
security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
fabriziosalmi/wildbox#801 ·
Maintainer antworten meist innerhalb von 1 Tag