Správa požadovaných balíčků Pythonu pomocí requirements.txt

Pokud projekt Pythonu sdílíte s ostatními nebo používáte systém sestavení k vytvoření aplikace v Pythonu, musíte zadat všechny požadované externí balíčky. Pokud plánujete zkopírovat projekt do jiných umístění, kde potřebujete obnovit prostředí, musíte také definovat požadované závislé balíčky.

Doporučeným přístupem k určení externích závislých balíčků Pythonu je použití souboru požadavků (readthedocs.org). Tento soubor obsahuje seznam příkazů pip, které nainstalují všechny požadované verze závislých balíčků pro váš projekt. Nejběžnějším příkazem je pip freeze > requirements.txt. Tento příkaz zaznamenává aktuální seznam balíčků vašeho prostředí do requirements.txt souboru.

Soubor požadavků obsahuje přesné verze všech nainstalovaných balíčků. Soubory požadavků můžete použít k zablokování požadavků prostředí. Pomocí přesných verzí balíčků můžete snadno reprodukovat prostředí na jiném počítači. Soubory požadavků zahrnují balíčky, i když jsou nainstalované s rozsahem verzí, jako závislost jiného balíčku nebo s jiným instalačním programem než pip.

Požadavky

Technicky vzato lze k sledování požadavků použít jakýkoli název souboru. Visual Studio ale poskytuje specifickou podporu pro soubor požadavků s názvem "requirements.txt". Argument můžete použít -r <full path to file> při instalaci balíčku k určení upřednostňovaného názvu souboru.

Instalace závislostí uvedených v requirements.txt

Pokud načtete projekt, který obsahuje requirements.txt soubor, můžete nainstalovat všechny závislosti balíčků uvedené v souboru.

  1. V Průzkumník řešení rozbalte projekt a pak rozbalte uzel Prostředí Pythonu.

  2. Vyhledejte uzel prostředí, pro který chcete balíčky nainstalovat. Klikněte pravým tlačítkem myši na uzel a vyberte Nainstalovat z requirements.txt.

    Snímek obrazovky, který ukazuje, jak nainstalovat balíčky Pythonu z textového souboru požadavků v sadě Visual Studio 2019

    Snímek obrazovky, který ukazuje, jak nainstalovat balíčky Pythonu z textového souboru požadavků v sadě Visual Studio 2022

  3. Proces instalace balíčku můžete monitorovat v okně Výstup :

    Snímek obrazovky znázorňující výstup z instalace balíčků Pythonu z textového souboru požadavků

    Výstup zobrazí seznam všech nainstalovaných požadovaných balíčků spolu s aktualizacemi potřebnými pro ovlivněné příkazy pip a dostupnost novějších verzí pip.

Instalace závislostí ve virtuálním prostředí

Závislosti balíčků Pythonu můžete také nainstalovat do existujícího virtuálního prostředí.

  1. V Průzkumník řešení rozbalte projekt a pak rozbalte uzel Prostředí Pythonu.

  2. Vyhledejte uzel virtuálního prostředí, pro který chcete balíčky nainstalovat. Klikněte pravým tlačítkem myši na uzel a vyberte Nainstalovat z requirements.txt.

Pokud potřebujete vytvořit virtuální prostředí, přečtěte si téma Použití virtuálních prostředí.

Vygenerování souboru requirements.txt

Pokud jsou všechny potřebné balíčky Pythonu pro váš projekt již nainstalované v prostředí, můžete vygenerovat requirements.txt soubor v sadě Visual Studio.

  1. V Průzkumník řešení rozbalte projekt a pak rozbalte uzel Prostředí Pythonu.

  2. Vyhledejte uzel prostředí, pro který chcete vygenerovat soubor požadavků. Klikněte pravým tlačítkem na uzel a vyberte Vygenerovat requirements.txt.

    Snímek obrazovky znázorňující, jak v sadě Visual Studio 2019 vygenerovat textový soubor s požadavky pro závislosti balíčku Pythonu

    Snímek obrazovky znázorňující, jak v sadě Visual Studio 2022 vygenerovat textový soubor s požadavky pro závislosti balíčku Pythonu

Aktualizace nebo přidání položek do existujícího souboru requirements.txt

requirements.txt Pokud soubor již existuje, visual Studio zobrazí výzvu s několika možnostmi:

Snímek obrazovky s výzvou, která se zobrazí, když už textový soubor požadavků existuje, s možnostmi aktualizace nebo přidání položek nebo nahrazení souboru

  • Celý soubor: Přepište všechny položky, komentáře a možnosti definované v requirements.text souboru.
  • Aktualizovat existující položky: Aktualizujte specifikátory verze v requirements.text souboru tak, aby odpovídaly aktuálně nainstalované verzi.
  • Aktualizace a přidání položek: Aktualizujte stávající požadavky v requirements.text souboru a připojte všechny nové požadavky balíčku na konec souboru.

Sada Visual Studio se spustí pip , aby rozpoznala aktuální požadavky na balíček pro prostředí, a pak aktualizuje soubor requirements.txt na základě vašeho výběru.

Ruční instalace závislostí balíčků

Pokud pip nenainstaluje závislost balíčku definovanou v requirements.txt souboru, celá instalace selže.

Tento problém můžete vyřešit dvěma způsoby:

  • Ručně upravte requirements.txt soubor tak, aby se vyloučil neúspěšný balíček, a pak znovu spusťte proces instalace.

  • Pomocí možností příkazu pip můžete odkazovat na instalovatelnou verzi balíčku.

Aktualizace souboru požadavků pomocí kola pip

Pokud k kompilaci závislosti použijete pip wheel příkaz, můžete do --find-links <path> requirements.txt souboru přidat možnost.

  1. Voláním pip wheel příkazu zkompilujte seznam požadovaných závislostí:

    pip wheel azure
    

    Výstup ukazuje kola sestavená pro shromážděné balíčky:

    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. Připojte soubor find-links a no-index možnosti spolu s požadavkem na verzi balíčku:requirements.txt

    type requirements.txt
    --find-links wheelhouse
    --no-index
    azure==0.8.0
    
  3. Spusťte proces instalace pip s aktualizovaným souborem požadavků:

    pip install -r requirements.txt -v
    

    Výstup sleduje průběh procesu instalace:

    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...