venv: make binary or library from C/C++ installable to `./venv/bin/` or `./venv/lib/`

Offen
#97,555 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
c, cpp, python

Rechercherichtung

Beginnen Sie damit nachzuverfolgen, wie virtuelle Umgebungen derzeit mit nativen Bibliotheken, ausführbaren Dateien und Headern umgehen, und achten Sie dabei auf .venv/bin, .venv/lib und .venv/include. Definieren Sie das für C/C++-Abhängigkeiten erforderliche Installations- und Verhalten von Umgebungsvariablen und identifizieren Sie anschließend die relevanten Tests und die Dokumentation vor der Implementierung; als abgeschlossen gilt die Aufgabe, wenn ein Python-Paket solche Abhängigkeiten ohne systemweite Installation verwenden kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

stdlib topic-venv type-feature

Feature or enhancement

Make C/C++ library or executable which the python library relied on be able to be installed into ./.venv/lib or ./.venv/bin where ./.venv is the path to virtual env root.

Also ./.venv/include/.

As a result, it can be more flexible to add additional C/C++ dependency without system supervisor permission.

Pitch

Sometimes, python libraries depend C/C++ libraries. Currently, the C/C++ library need to installed system wide. It is a great inconvenience.

If a required C/C++ library is not provided by Linux distro. Just install it into virtual env directory without polluting system-wide environment.

For executable, nothing is needed for functionality. For library, it would be solvable by properly setting LIBRARY_PATH and LD_LIBRARY_PATH.

Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
558

Beitragsleitfaden

Beitragsleitfaden öffnen

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 python/cpython

Alle Issues in python/cpython

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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