L'autre jour, j'ai essayé d'installer un paquet d'AUR en utilisant Yay programme d'aide. Le package que j'ai essayé d'installer comporte de nombreuses dépendances Python. Malheureusement, je n'ai pas pu l'installer et Yay a continué à lancer l'erreur suivante. Je pensais que le problème serait résolu si je supprimais les packages en conflit. Mais je ne veux pas casser le système. Voici le message d'erreur de sortie lorsque j'ai essayé d'installer un programme depuis AUR :
error: failed to commit transaction (conflicting files) python-tabulate: /usr/bin/tabulate exists in filesystem python-tabulate: /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc exists in filesystem python-tabulate: /usr/lib/python3.6/site-packages/tabulate.py exists in filesystem Errors occurred, no packages were upgraded. :: Building torrench package(s)... ==> Making package: torrench 1.0.56-1 (Mon Oct 23 15:46:37 IST 2017) ==> Checking runtime dependencies... ==> Installing missing dependencies... error: target not found: python-tabulate ==> ERROR: 'pacman' failed to install missing dependencies.
Comme vous pouvez le voir dans la sortie ci-dessus, les trois packages suivants sont à l'origine du problème.
- /usr/bin/tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Résoudre "ERREUR :'pacman' n'a pas réussi à installer les dépendances manquantes" dans Arch Linux
Pour moi, la suppression des packages problématiques a résolu le problème. Cependant, il est toujours recommandé de vérifier que les fichiers problématiques n'appartiennent pas à d'autres packages . Parce que s'il appartient à un autre programme, les supprimer est une mauvaise idée. Donc, vous devez trouver que ces fichiers en conflit n'appartiennent à aucun autre package. Le pacman La commande peut facilement savoir si un fichier appartient à d'autres packages de votre système Arch Linux.
Dans mon cas, j'ai vérifié si les fichiers mentionnés ci-dessus appartiennent à d'autres packages, comme indiqué ci-dessous.
$ sudo pacman -Qo /usr/bin/tabulate
Exemple de sortie :
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
Exemple de sortie :
error: No package owns /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/tabulate.py
Exemple de sortie :
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
Comme vous pouvez le voir, toutes les commandes ci-dessus m'ont montré que ces fichiers n'appartiennent à aucun paquet. Donc, je les ai simplement supprimés un par un.
$ sudo rm /usr/bin/tabulate
$ sudo rm /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo rm /usr/lib/python3.6/site-packages/tabulate.py
Fait! Maintenant, je peux installer tous les packages avec des dépendances Python. Pour des raisons de sécurité, sauvegardez ces fichiers en conflit avant de les supprimer. Vous pouvez les restaurer au cas où il y aurait des problèmes après les avoir supprimés.