2015-08-11 12 views
5

Mam projekt z wieloma zależnościami zainstalowanymi za pomocą virtualenv i pip. Chcę uruchomić mój projekt na serwerze, który nie ma zainstalowanego pip. Niestety instalacja pip nie jest opcją.Pakiety paczek eksportowych

Czy istnieje sposób na wyeksportowanie wymaganych pakietów i powiązanie ich z moim projektem? Jakie jest wspólne podejście w tej sytuacji?

Odpowiedz

5

Twitter używa plików pex do pakowania kodu Pythona z jego zależnościami. Spowoduje to utworzenie jednego pliku. Innym istotnym narzędziem jest platter, którego celem jest również ograniczenie złożoności wdrażania kodu Pythona na serwerze.

Inną alternatywą jest samodzielne napisanie narzędzia, które tworzy plik zip w Pythonie i zależnościach i rozpakowuje je w odpowiednim miejscu na serwerze.

W Pythonie 3.5 wprowadzono moduł zipapp w celu usprawnienia obsługi tego sposobu wdrażania/używania kodu. Pozwala to na zarządzanie tworzeniem plików zip zawierających kod Pythona i uruchamianie ich bezpośrednio za pomocą interpretera Pythona.

0

@Simeon Visser odpowiedź jest dobrym sposobem, aby sobie z tym poradzić. Mój jest zbudowanie mojego projektu python z buildout.

0

To może być poza zakresem pytania, ale jeśli potrzebujesz aplikacji do serwerów ze swoimi zależnościami, spójrz na kontenery wirtualizacji i linuxa.

Jest to zdecydowanie najczęściej używane rozwiązanie tego problemu i będzie działać z każdym rodzajem aplikacji (python lub nie) i jest lekki (wydajność działania LXC nie jest zauważalna w większości przypadków, a izolowanie aplikacji jest WIELKĄ cechą).

dokowane pojemniki, oprócz tego, że trendy w tej chwili, to bardzo wygodny sposób wdrażać aplikacje nie dbając o zależnościach, itp ...

To samo dotyczy envs rozwojowych z włóczęgi.

Powiązane problemy