Zarządzanie wymaganymi pakietami języka Python za pomocą requirements.txt
Jeśli udostępniasz projekt języka Python innym osobom lub używasz systemu kompilacji do tworzenia aplikacji w języku Python, musisz określić wymagane pakiety zewnętrzne. Jeśli planujesz skopiować projekt do innych lokalizacji, w których trzeba przywrócić środowisko, należy również zdefiniować wymagane pakiety zależne.
Zalecaną metodą określania zewnętrznych zależnych pakietów języka Python jest użycie pliku wymagań (readthedocs.org). Ten plik zawiera listę poleceń pip, które instalują wszystkie wymagane wersje pakietów zależnych dla projektu. Najbardziej typowym poleceniem jest pip freeze > requirements.txt
. To polecenie rejestruje bieżącą listę pakietów środowiska w requirements.txt
pliku.
Plik wymagań zawiera dokładne wersje wszystkich zainstalowanych pakietów. Możesz użyć plików wymagań, aby zablokować wymagania środowiska. Korzystając z dokładnych wersji pakietów, można łatwo odtworzyć środowisko na innym komputerze. Pliki wymagań obejmują pakiety, nawet jeśli są zainstalowane z zakresem wersji, jako zależność innego pakietu lub z instalatorem innym niż pip.
Wymagania wstępne
Program Visual Studio zainstalowany z obsługą obciążeń języka Python. Aby uzyskać więcej informacji, zobacz Instalowanie obsługi języka Python w programie Visual Studio.
Plik wymagań. Możesz użyć istniejącego pliku wymagań lub wygenerować plik zgodnie z opisem w tym artykule.
Technicznie dowolna nazwa pliku może służyć do śledzenia wymagań. Jednak program Visual Studio zapewnia konkretną obsługę pliku wymagań o nazwie "requirements.txt". Argument można -r <full path to file>
użyć podczas instalowania pakietu, aby określić preferowaną nazwę pliku.
Instalowanie zależności wymienionych w requirements.txt
Jeśli załadujesz projekt zawierający requirements.txt
plik, możesz zainstalować wszystkie zależności pakietu wymienione w pliku.
W Eksplorator rozwiązań rozwiń projekt, a następnie rozwiń węzeł Środowiska języka Python.
Znajdź węzeł środowiska, dla którego chcesz zainstalować pakiety. Kliknij prawym przyciskiem myszy węzeł i wybierz polecenie Zainstaluj z requirements.txt.
Proces instalacji pakietu można monitorować w oknie Dane wyjściowe :
Dane wyjściowe zawierają listę wszystkich zainstalowanych wymaganych pakietów wraz z aktualizacjami wymaganymi dla poleceń pip, których dotyczy problem, oraz dostępności nowszych wersji pip.
Instalowanie zależności w środowisku wirtualnym
Możesz również zainstalować zależności pakietów języka Python w istniejącym środowisku wirtualnym.
W Eksplorator rozwiązań rozwiń projekt, a następnie rozwiń węzeł Środowiska języka Python.
Znajdź węzeł środowiska wirtualnego, dla którego chcesz zainstalować pakiety. Kliknij prawym przyciskiem myszy węzeł i wybierz polecenie Zainstaluj z requirements.txt.
Jeśli musisz utworzyć środowisko wirtualne, zobacz Używanie środowisk wirtualnych.
Generowanie pliku requirements.txt
Jeśli wszystkie niezbędne pakiety języka Python dla projektu są już zainstalowane w środowisku, możesz wygenerować requirements.txt
plik w programie Visual Studio.
W Eksplorator rozwiązań rozwiń projekt, a następnie rozwiń węzeł Środowiska języka Python.
Znajdź węzeł środowiska, dla którego chcesz wygenerować plik wymagań. Kliknij prawym przyciskiem myszy węzeł i wybierz polecenie Generuj requirements.txt.
Odświeżanie lub dodawanie wpisów do istniejącego pliku requirements.txt
requirements.txt
Jeśli plik już istnieje, program Visual Studio wyświetli monit z kilkoma opcjami:
- Zamień cały plik: zastąp wszystkie elementy, komentarze i opcje zdefiniowane w
requirements.text
pliku. - Odśwież istniejące wpisy: zaktualizuj specyfikatory wersji w
requirements.text
pliku, aby odpowiadały aktualnie zainstalowanej wersji. - Aktualizowanie i dodawanie wpisów: Odśwież istniejące wymagania w
requirements.text
pliku i dołącz wszystkie nowe wymagania dotyczące pakietu na końcu pliku.
Program Visual Studio jest uruchamiany pip
w celu wykrywania bieżących wymagań dotyczących pakietu dla środowiska, a następnie aktualizuje requirements.txt
plik na podstawie wybranej opcji.
Ręczne instalowanie zależności pakietów
Jeśli narzędzie pip nie instaluje zależności pakietu zdefiniowanej w requirements.txt
pliku, cała instalacja zakończy się niepowodzeniem.
Istnieją dwie opcje rozwiązania tego problemu:
Ręcznie zmodyfikuj plik,
requirements.txt
aby wykluczyć pakiet, który zakończył się niepowodzeniem, a następnie ponownie uruchom proces instalacji.Użyj opcji polecenia pip, aby odwołać się do instalowanej wersji pakietu.
Aktualizowanie pliku wymagań za pomocą narzędzia pip wheel
Jeśli używasz pip wheel
polecenia do kompilowania zależności, możesz dodać --find-links <path>
opcję do requirements.txt
pliku.
Wywołaj polecenie ,
pip wheel
aby skompilować listę wymaganych zależności:pip wheel azure
Dane wyjściowe przedstawiają koła utworzone dla zebranych pakietów:
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...
find-links
Dołącz opcje ino-index
wraz z wymaganiami wersji pakietu do plikurequirements.txt
:type requirements.txt --find-links wheelhouse --no-index azure==0.8.0
Uruchom proces instalacji pip ze zaktualizowanym plikiem wymagań:
pip install -r requirements.txt -v
Dane wyjściowe śledzą postęp procesu instalacji:
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...