python pip: Erzwinge die Installation und ignoriere Abhängigkeiten


126

Gibt es eine Möglichkeit, die Installation eines Pip-Python-Pakets zu erzwingen, wobei alle Abhängigkeiten ignoriert werden, die nicht erfüllt werden können?

(Es ist mir egal, wie "falsch" es ist, ich muss es nur tun, jede Logik und Argumentation beiseite ...)

Antworten:


199

pip hat einen --no-dependenciesSchalter. Das solltest du benutzen.

Weitere Informationen erhalten pip install -hSie, wenn Sie diese Zeile sehen:

--no-deps, --no-dependencies
                        Ignore package dependencies

ok, danke für die Mühe zu antworten ... Entschuldigung, keine Ahnung, wie ich das verpasst habe, ich hätte definitiv rtfm ...
NeuronQ

19
Wie übergebe ich dies in einer Datei "require.txt"?
Austin

2
Um mit einer require.txt zu laufen, wäre es:pip install --no-deps -r requirements.txt
Graham Place

Etwas Ähnliches, um die Installation empfohlener Pakete wie mit zu verhindern apt-get install --no-install-recommends?
Connor

1
@Connor gibt es kein Äquivalent zu "empfohlenen Paketen" in einem der Standard-Python-Verpackungstools: distutils, setuptools, pip. Setuptools (und pip) haben "Extras", die jedoch vom Benutzer explizit ausgewählt und installiert werden müssen.
Shadowtalker

6

Beim Versuch, das librosaPaket mit pip( pip install librosa) zu installieren , wurde folgender Fehler angezeigt:

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.

Ich habe versucht zu entfernen llvmlite, pip uninstallkonnte es aber nicht entfernen. Also habe ich die Fähigkeit ignorevon pipdurch diesen Code verwendet:

pip install librosa --ignore-installed llvmlite

In der Tat können Sie diese Regel verwenden, um ein Paket zu ignorieren, das Sie nicht berücksichtigen möchten:

pip install {package you want to install} --ignore-installed {installed package you don't want to consider}

1
Das ist nicht genau das, wonach die Operation gefragt hat. gemäß der Manpage -I, --ignore-installiert Ignoriert die installierten Pakete (stattdessen neu installieren). Dieses Flag installiert die angegebenen Pakete explizit neu, auch wenn sie bereits installiert sind
madmuffin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.