Delen via


Vereiste Python-pakketten beheren met requirements.txt

Als u uw Python-project met anderen deelt of een buildsysteem gebruikt om uw Python-toepassing te produceren, moet u eventuele vereiste externe pakketten opgeven. Wanneer u van plan bent uw project te kopiëren naar andere locaties waar u een omgeving wilt herstellen, moet u ook de vereiste afhankelijke pakketten definiëren.

De aanbevolen methode voor het opgeven van externe afhankelijke Python-pakketten is het gebruik van een vereistenbestand (readthedocs.org). Dit bestand bevat een lijst met PIP-opdrachten waarmee alle vereiste versies van afhankelijke pakketten voor uw project worden geïnstalleerd. De meest voorkomende opdracht is pip freeze > requirements.txt. Met deze opdracht wordt de huidige pakketlijst van uw omgeving vastgelegd in het requirements.txt bestand.

Een vereistenbestand bevat nauwkeurige versies van alle geïnstalleerde pakketten. U kunt vereistenbestanden gebruiken om de vereisten van een omgeving te blokkeren. Door nauwkeurige pakketversies te gebruiken, kunt u uw omgeving eenvoudig op een andere computer reproduceren. De vereistenbestanden bevatten pakketten, zelfs als ze zijn geïnstalleerd met een versiebereik, als afhankelijkheid van een ander pakket of met een ander installatieprogramma dan pip.

Vereiste voorwaarden

Technisch gezien kan elke bestandsnaam worden gebruikt om vereisten bij te houden. Visual Studio biedt echter specifieke ondersteuning voor het vereistenbestand met de naam 'requirements.txt'. U kunt het -r <full path to file> argument gebruiken wanneer u een pakket installeert om de gewenste naam voor het bestand op te geven.

Installeer de afhankelijkheden die in requirements.txt staan vermeld.

Als u een project met een requirements.txt bestand laadt, kunt u alle pakketafhankelijkheden in het bestand installeren.

  1. Vouw in Solution Explorer het project uit en vouw vervolgens het knooppunt Python-omgevingen uit.

  2. Zoek het omgevingsknooppunt waarvoor u de pakketten wilt installeren. Klik met de rechtermuisknop op het knooppunt en selecteer Installeren in requirements.txt.

  3. U kunt het installatieproces van het pakket controleren in het uitvoervenster :

    Schermopname van de uitvoer van de installatie van de Python-pakketten uit een tekstbestand met vereisten.

    De uitvoer bevat alle vereiste pakketten die zijn geïnstalleerd, samen met eventuele updates die vereist zijn voor betrokken pip-opdrachten en de beschikbaarheid van nieuwere pip-versies.

Afhankelijkheden installeren in een virtuele omgeving

U kunt ook de Python-pakketafhankelijkheden installeren in een bestaande virtuele omgeving.

  1. Vouw in Solution Explorer het project uit en vouw vervolgens het knooppunt Python-omgevingen uit.

  2. Zoek het virtuele omgevingsknooppunt waarvoor u de pakketten wilt installeren. Klik met de rechtermuisknop op het knooppunt en selecteer Installeren in requirements.txt.

Zie Virtuele omgevingen gebruiken als u een virtuele omgeving moet maken.

Het requirements.txt-bestand genereren

Als alle benodigde Python-pakketten voor uw project al zijn geïnstalleerd in een omgeving, kunt u het requirements.txt bestand genereren in Visual Studio.

  1. Vouw in Solution Explorer het project uit en vouw vervolgens het knooppunt Python-omgevingen uit.

  2. Zoek het omgevingsknooppunt waarvoor u het vereistenbestand wilt genereren. Klik met de rechtermuisknop op het knooppunt en selecteer requirements.txtgenereren .

Ingangen vernieuwen of toevoegen aan een bestaand requirements.txt-bestand

Als het requirements.txt bestand al bestaat, wordt in Visual Studio een prompt met verschillende opties weergegeven:

Schermopname van de prompt die wordt weergegeven wanneer het tekstbestand met vereisten al bestaat, met opties om vermeldingen bij te werken of toe te voegen of het bestand te vervangen.

  • Volledig bestand vervangen: overschrijf alle items, opmerkingen en opties die in het requirements.text bestand zijn gedefinieerd.
  • Bestaande vermeldingen vernieuwen: werk de versieaanduidingen in het requirements.text bestand bij zodat deze overeenkomen met de momenteel geïnstalleerde versie.
  • Vermeldingen bijwerken en toevoegen: vernieuw bestaande vereisten in het requirements.text bestand en voeg alle nieuwe pakketvereisten toe aan het einde van het bestand.

Visual Studio voert pip uit om de huidige pakketvereisten voor de omgeving te detecteren, en wordt het requirements.txt bestand bijgewerkt op basis van de gemaakte keuzes.

Pakketafhankelijkheden handmatig installeren

Als pip geen pakketafhankelijkheid installeert die in uw requirements.txt bestand is gedefinieerd, mislukt de hele installatie.

U hebt twee opties om dit probleem op te lossen:

  • Bewerk het requirements.txt bestand handmatig om het mislukte pakket uit te sluiten en voer vervolgens het installatieproces opnieuw uit.

  • Gebruik pip-opdrachtopties om te verwijzen naar een geïnstalleerde versie van het pakket.

Het vereistenbestand bijwerken met pip wheel

Als u de pip wheel opdracht gebruikt om een afhankelijkheid te compileren, kunt u de --find-links <path> optie toevoegen aan uw requirements.txt bestand.

  1. Roep de pip wheel opdracht aan om de lijst met vereiste afhankelijkheden te compileren:

    pip wheel azure
    

    De uitvoer toont de wielen die zijn gebouwd voor de verzamelde pakketten:

    Downloading/unpacking azure
        Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure
    
    Building wheels for collected packages: azure
        Running setup.py bdist_wheel for azure
        Destination directory: c:\project\wheelhouse
    Successfully built azure
    Cleaning up...
    
  2. Voeg de find-links en no-index opties toe, samen met de vereiste pakketversie aan uw requirements.txt bestand:

    type requirements.txt
    --find-links wheelhouse
    --no-index
    azure==0.8.0
    
  3. Voer het pip-installatieproces uit met het bijgewerkte vereistenbestand:

    pip install -r requirements.txt -v
    

    De uitvoer houdt de voortgang van het installatieproces bij:

    Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3))
        Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl
    Installing collected packages: azure
    Successfully installed azure
    Cleaning up...
        Removing temporary dir C:\Project\env\build...