tell pip, aby zainstalować zależności pakietów wymienionych w pliku wymagań
Opracowując aplikację internetową Django, mam listę pakietów, które muszę zainstalować w virtualenv. Mówić:
<code>Django==1.3.1 --extra-index-url=http://dist.pinaxproject.com/dev/ Pinax==0.9b1.dev10 git+git://github.com/pinax/pinax-theme-bootstrap.git@cff4f5bbe9f87f0c67ee9ada9aa8ae82978f9890 # and other packages </code>
Początkowo instalowałem je ręcznie, jeden po drugim, wzdłuż rozwoju. Zainstalowało to wymagane zależności i ostatecznie użyłempip freeze
przed wdrożeniem aplikacji.
Problem polega na tym, że podczas uaktualniania niektórych pakietów niektóre zależności nie są już używane ani wymagane, ale są one wyświetlane na liściepip freeze
.
Teraz chciałbym w ten sposób założyć nowy wirtualen:
umieść potrzebne pakiety (bez ich zależności) w pliku wymagań,lubić
manual-requirements.txt
zainstaluj je z ich zależnościamipip install -r manual-requirement.txt
(Problem ←, nie instaluje zależności)zamrozić pełną wirtualizacjępip freeze -r manual-requirements.txt > full-requirements.txt
i rozmieścić.
Jakikolwiek sposób to zrobić bez ręcznego ponownego instalowania pakietów w nowym virtualenv, aby uzyskać ich zależności? Byłoby to podatne na błędy i chciałbym zautomatyzować proces czyszczenia wirtualenwa ze starych, już nie potrzebnych zależności.
edytować: właściwie piprobi zainstaluj zależności, które nie są wyraźnie wymienione w pliku wymagań, nawet jeślidokumentacja mówi nam, że takie pliki są płaskie. Myliłem się co do tego, jakich zależności oczekiwałem do zainstalowania. Odpowiem na to pytanie każdemu, kto ma wątpliwości, czy pip nie instaluje wszystkich zależności.