Inconsistent behavior of `zipapp.create_archive`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
Currently, zipapp.create_archive makes the target application archive executable only if target is a str. (see snippets bellow).
I think the target application archive should be made executable also when target is os.PathLike.
# source.py
print("Hello from pyz")
# bug_reproduction.py
import os
import pathlib
import zipapp
import sys
zipapp.create_archive("source.py", "source.pyz")
zipapp.create_archive(
pathlib.Path("source.pyz"),
pathlib.Path("copy.pyz"),
interpreter=sys.executable,
)
zipapp.create_archive("source.pyz", "copy2.pyz", interpreter=sys.executable)
assert os.access("copy2.pyz", os.X_OK) # Passes
assert os.access("copy.pyz", os.X_OK) # Fails
CPython versions tested on:
CPython main branch, commit b0c9fc37dd0ed60456313600e6a01478308f195e
Operating systems tested on:
Linux
Linked PRs
- gh-156569
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne am Einstiegspunkt zipapp.create_archive und reproduziere das im Issue beschriebene Verhalten unter Linux mit string- und pathlib.Path-Zielen. Als erledigt gilt, dass PathLike-Ziele konsistent mit string-Zielen ausführbare Archive erzeugen; der im Issue verlinkte PR zeigt, dass diese Arbeit bereits im Gange ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 25/100