IIC2233 / Syllabus-2023-2

69 stars 13 forks source link

PyQt6 instalado correctamente pero sin poder importar modulos: libxkbcommon #131

Open angedvq opened 1 year ago

angedvq commented 1 year ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Problema

Hola, para los contenidos de la semana 4 he tenido problemas con PyQt6, seguí las instrucciones de instalación del foro pero al momento de ejecutar los ejemplos de la carpeta "scripts" me aparece el siguiente error:

Traceback (most recent call last): File "/home/angie/contenidos/semana-04/scripts/1-interfaces-graficas-ejemplo_1.py", line 2, in from PyQt6.QtWidgets import QWidget, QApplication ImportError: libxkbcommon.so.0: cannot open shared object file: No such file or directory

Es como si no reconociera que PyQt6 estuviera instalado. Tengo Ubuntu 22.04

Hernan4444 commented 1 year ago

Hola @angedvq

Respecto al error entregado, parece que el mismo ubuntu de WSL le faltan cosas, Intenta con el siguiente comando

sudo apt-get install libxkbcommon-x11-0 libpulse0

Alternativa B (Importante)

De todas formas, estamos viendo que PyQt6 con WSL está teniendo varios conflictos que no teníamos previstos cuando probamos estas librerías. Para no quedar atrás en su estudio, recomiendo instalar Python en Windows directamente para que puedan instalar PyQt6 y con eso podrás estudiar y ejecutar todos los archivos hasta que logremos encontrar una solución definitiva a WSL.

Los pasos para instalar todo en Windows son:

  1. Ir a este link.

  2. Bajar hasta el final y oprimir dice "Windows installer (64-bit)". Eso les bajará un .exe.

  3. Hacer click en ese .exe. Les saldrá una imagen como esta: image

    Asegurense que los 2 checkbox de abajo estén seleccionados, así podrás hacer python3 desde su CMD.

  4. Una vez instalado, abrir su consola y escribir python3 para probar que funciona. También probar con python, py o py3. Luego de encontrar el comando con el que abras la consola de Python, entrarás a dicha consola de yahí pueden hacer print("Hello World") para verificar que funciona. Finalmente poner exit() para salir de esa consola y volver a su CMD.

  5. Una vez encontrado el comando que sirve para Python (digamos que es py), deben escribir py -m pip install pyqt6 para instalar PyQt6.

  6. Con eso ya tienes Python y PyQt6 para probar los ejercicios. Luego, necesitamos llegar a los archivos de contenidos o donde sea que tengas los script de PyQt6. Con esta opción, ya no usaremos WSL para ejecutar, sino lo haremos directamente en tu Windows. Por lo tanto, desde CMD debes hacer cd para llegar a donde tengas los contenidos y usar py archivo.py para ejecutar los archivos de Windows.

    O bien, puedes utilizar tu explorador de archivos (explorer.exe .) para llegar a tu carpeta de contenidos y luego escribir “CMD” en la barra donde está el path. image

    Esto último te abrirá tu CMD justo en la carpeta donde están los archivos. Luego hacer py archivo.py para ejecutar los archivos de Windows. Recuerda que si py no te funcionó, tal vez el comando era python, python3 o py3. Dependerá del Windows que tengas cuál de ellos debas usar.

Avísanos cómo te va con (1) la primera opción para solucionar el tema de WSL y (2) si al menos lograste hacer funcionar en Windows, para usar esa opción mientras tanto.

Saludosヾ(^-^)ノ

joacopython commented 1 year ago

Hola profesor, tengo un problema muy parecido cuando intento importar PyQt6 image ¿Como puedo solucionarlo?

Hernan4444 commented 1 year ago

Hola @joacopython

Si el error que tienes no es el mismo, porfa mejor crea otra issue, porque así podemos hacer seguimiento diferentes para cada error distinto que surga. Por el momento, prueba con hacer:

sudo apt install libqt6multimedia6 libpulse0 python3-pyqt5 libxcb-cursor-dev

Si eso no funciona, crea otra issue sobre tu error con libqt6core e indicando que ya intentaste con el comando mencionado anteriormente. De este modo, podemos ayudarte a solucionar justamente el error con libqt6core.

Saludos!