El otro día intenté instalar un paquete de AUR usando Yay programa de ayuda El paquete que intenté instalar tiene muchas dependencias de Python. Desafortunadamente, no pude instalarlo y Yay seguía lanzando el siguiente error. Pensé que el problema se resolvería si eliminaba los paquetes en conflicto. Pero, no quiero romper el sistema. Aquí está el mensaje de error de salida cuando intenté instalar un programa desde 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.
Como puede ver en el resultado anterior, los siguientes tres paquetes fueron los que causaron el problema.
- /usr/bin/tabular
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Resolver "ERROR:'pacman' no pudo instalar las dependencias faltantes" en Arch Linux
Para mí, eliminar los paquetes problemáticos solucionó el problema. Sin embargo, siempre se recomienda verificar que los archivos problemáticos no sean propiedad de otros paquetes . Porque si es propiedad de algún otro programa, eliminarlos es una mala idea. Por lo tanto, debe encontrar que esos archivos en conflicto no pertenecen a ningún otro paquete. El pacman El comando puede averiguar fácilmente si un archivo es propiedad de otros paquetes en su sistema Arch Linux.
En mi caso, verifiqué si los archivos mencionados anteriormente pertenecen a otros paquetes, como se muestra a continuación.
$ sudo pacman -Qo /usr/bin/tabulate
Salida de muestra:
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
Salida de muestra:
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
Salida de muestra:
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
Como puede ver, todos los comandos anteriores me mostraron que esos archivos no pertenecen a ningún paquete. Entonces, simplemente los eliminé uno por uno.
$ 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
¡Hecho! Ahora, puedo instalar todos los paquetes con dependencias de Python. Por seguridad, una precaución, haga una copia de seguridad de esos archivos en conflicto antes de eliminarlos. Puede restaurarlos por si acaso si hay algún problema después de eliminarlos.