python pip: forcer l'installation en ignorant les dépendances

126

Existe-t-il un moyen de forcer l'installation d'un package python pip en ignorant toutes ses dépendances qui ne peuvent pas être satisfaites?

(Peu m'importe à quel point c'est "mal" de le faire, j'ai juste besoin de le faire, toute logique et raisonnement mis à part ...)

NeuronQ
la source

Réponses:

201

pip a un --no-dependenciesinterrupteur. Vous devriez utiliser ça.

Pour plus d'informations, exécutez pip install -h, où vous verrez cette ligne:

--no-deps, --no-dependencies
                        Ignore package dependencies
Jeff Tratner
la source
ok, merci d'avoir pris la peine de répondre ... désolé, je ne sais pas comment j'ai raté ça, j'aurais certainement dû rtfm ...
NeuronQ
19
comment passer cela dans un fichier requirements.txt?
Austin
2
Pour fonctionner avec un requirements.txt, ce serait:pip install --no-deps -r requirements.txt
Graham Place
Quelque chose comme ça pour empêcher l'installation des packages recommandés comme avec apt-get install --no-install-recommends?
Connor
1
@Connor, il n'y a pas d'équivalent aux "packages recommandés" dans aucun des outils de packaging Python standard: distutils, setuptools, pip. Setuptools (et pip) a des "extras", mais ils doivent être explicitement sélectionnés et installés par l'utilisateur.
shadowtalker
6

Lorsque j'essayais d'installer le librosapackage avec pip( pip install librosa), cette erreur s'est produite:

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.

J'ai essayé de le supprimer llvmlite, mais je n'ai pip uninstallpas pu le supprimer. Donc, j'ai utilisé la capacité de ignorede pippar ce code:

pip install librosa --ignore-installed llvmlite

En effet, vous pouvez utiliser cette règle pour ignorer un package que vous ne souhaitez pas considérer:

pip install {package you want to install} --ignore-installed {installed package you don't want to consider}
jambon baziyad
la source
1
ce n'est pas exactement ce que l'op a demandé. selon la page de manuel -I, --ignore-installed Ignorer les packages installés (réinstaller à la place). cet indicateur réinstallera explicitement les paquets spécifiés, même s'ils sont déjà installés
madmuffin