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 ...)

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

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}

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.