python pip: force install ignorowanie zależności

126

Czy istnieje sposób na wymuszenie instalacji pakietu pip python, ignorując wszystkie jego zależności, których nie można spełnić?

(Nie obchodzi mnie, jak „źle” to robi, po prostu muszę to zrobić, pomijając wszelką logikę i rozumowanie ...)

NeuronQ
źródło

Odpowiedzi:

201

pip ma --no-dependenciesprzełącznik. Powinieneś tego użyć.

Aby uzyskać więcej informacji, uruchom pip install -h, gdzie zobaczysz tę linię:

--no-deps, --no-dependencies
                        Ignore package dependencies
Jeff Tratner
źródło
ok, dziękuję za kłopoty z odpowiedzią ... przepraszam, nie wiem, jak to przegapiłem, zdecydowanie powinienem był rtfm ...
NeuronQ
19
jak przekazać to w pliku Requirements.txt?
Austin
2
Aby uruchomić plik Require.txt, będzie to:pip install --no-deps -r requirements.txt
Graham Place
Coś takiego, aby zapobiec instalowaniu zalecanych pakietów, takich jak z apt-get install --no-install-recommends?
Connor,
1
@Connor nie ma odpowiednika „polecanych pakietów” w żadnym ze standardowych narzędzi do pakowania Pythona: distutils, setuptools, pip. Setuptools (i pip) mają „dodatki”, ale muszą one być jawnie wybrane i zainstalowane przez użytkownika.
shadowtalker
6

Kiedy próbowałem zainstalować librosapakiet za pomocą pip( pip install librosa), pojawił się ten błąd:

ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

Próbowałem usunąć llvmlite , ale pip uninstallnie mogłem go usunąć. Więc użyłem możliwości ignoreof pipprzez ten kod:

pip install librosa --ignore-installed llvmlite

Rzeczywiście, możesz użyć tej reguły do ​​zignorowania pakietu, którego nie chcesz brać pod uwagę:

pip install {package you want to install} --ignore-installed {installed package you don't want to consider}
hamed baziyad
źródło
1
nie jest to dokładnie to, o co prosił op. zgodnie ze stroną podręcznika man -I, --ignore-installed Ignoruje zainstalowane pakiety (zamiast tego instaluje ponownie). ta flaga wyraźnie przeinstaluje określone pakiety, nawet jeśli są już zainstalowane
madmuffin