IIC2233 / Syllabus

84 stars 8 forks source link

Problemas de intalación PyQt6 en mac (error: Error: invalid option: --with-python3) #296

Open mauriciosalass opened 2 months ago

mauriciosalass commented 2 months ago

Prerrequisitos

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

Problema

Hola buenas tardes, al momento de instalar PyQt6 en la consola con el comando -> brew install pyqt6 --with-python3, me arroja este error "Error: invalid option: --with-python3": ->Install a formula or cask. Additional options specific to a formula may be appended to the command.

Unless HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set, brew upgrade or brew reinstall will be run for outdated dependents and dependents with broken linkage, respectively.

Unless HOMEBREW_NO_INSTALL_CLEANUP is set, brew cleanup will then be run for the installed formulae or, every 30 days, for all formulae.

Unless HOMEBREW_NO_INSTALL_UPGRADE is set, brew install formula will upgrade formula if it is already installed but outdated.

Intenté despues con brew install pyqt pero me arroja esto:

==> Downloading https://ghcr.io/v2/homebrew/core/pyqt/manifests/6.6.1_1 Already downloaded: /Users/mauriciosalas/Library/Caches/Homebrew/downloads/8d55d1d49c519b58203ae494f28783f001b924838da80944e89f0e04b30f0bd2--pyqt-6.6.1_1.bottle_manifest.json ==> Fetching pyqt ==> Downloading https://ghcr.io/v2/homebrew/core/pyqt/blobs/sha256:4f25ba87939aa Already downloaded: /Users/mauriciosalas/Library/Caches/Homebrew/downloads/1292964377337d515856f45a28f3a39e94fd97c3099213b699b4cb484fad6467--pyqt--6.6.1_1.monterey.bottle.tar.gz ==> Pouring pyqt--6.6.1_1.monterey.bottle.tar.gz 🍺 /usr/local/Cellar/pyqt/6.6.1_1: 1,226 files, 32.9MB ==> Running brew cleanup pyqt... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see man brew).

después de este punto no se que hacer, lo intenté probar pero no funciona así supongo que me falta algo por hacer y/o arreglar

from PyQt6.QtWidgets import QApplication, QLabel ModuleNotFoundError: No module named 'PyQt6.QtWidgets'

feliz si me ayudan a solucionarlo

mon-b commented 2 months ago

Hola Mauricio! Sospecho que tu problema se debe al intérprete de Python. A veces tenemos más de una versión de Python instalada, y las librerías se instalan en una versión específica.

Si utilizas VS Code, en la esquina inferior derecha deberías ver algo similar a esto:

Screenshot 2024-04-27 at 12 40 55

Al hacer click, se abrirá la pestaña de selección de intérprete, se verá algo similar a esto:

Screenshot 2024-04-27 at 12 41 35

Asegúrate de seleccionar el intérprete de homebrew, ya que es en este donde PyQt debería estar. Puedes probar cambiar de versión hasta encontrar en la que está, pero recuerda que para el curso pedimos Python 3.11.x con x >= 7.

Si sigues teniendo problemas tras probar esto, puedes escribir por acá. Quedo atenta!

mauriciosalass commented 2 months ago

Holaa, muchas gracias por tu respuesta, pero al parecer tengo otro problema :( jjajaja

Tengo instalado homebrew pero no tengo una ruta creada en vs, entonces no puedo seleccionar ese intérprete. De todas maneras intenté crear una nueva ruta pero no me funcionó, asi que supongo que me equivoqué haciendo algún paso

Aquí te adjunto una foto de los interpretes que tengo en visual

Captura de Pantalla 2024-04-27 a la(s) 13 36 17

mon-b commented 2 months ago

¿Probaste instalar con pip? Si no, intenta utilizar pip install PyQt6 y veamos si con eso funciona. Cuéntame como te va con eso, buscaré soluciones alternativas de todas formas

mon-b commented 2 months ago

Retomando con Homebrew, también es una opción ejecutar en la terminal el comando brew info python@3.11. Tras hacer esto, una de las líneas deberia decir algo como:

==> Caveats Python has been installed as /opt/homebrew/bin/python3.11 (esto es lo que me sale a mí, el tuyo podría ser distinto)

Con este path podrás ejecutar tu script con la versión de python de homebrew directamente en la terminal, algo así como: /opt/homebrew/bin/python3.11 main.py (en este caso, deberías estar en la misma carpeta de main.py).

Porfa coméntame si alguna de las dos opciones resulta! Quedo atenta :)

mauriciosalass commented 2 months ago

A mi me sale: /usr/local/bin/python3.11

y con respecto al comentario anterior, probé "pip install PyQt6" pero se me instaló en otra versión de python más antigua 3.9.x

mon-b commented 2 months ago

Oki! Entonces en tu terminal entra a algún directorio que contenga un archivo donde importes PyQt6, e intenta correrlo así: /usr/local/bin/python3.11 archivo.py, (reemplaza archivo por el nombre que tengas) y dime si eso funciona

mauriciosalass commented 2 months ago

Aquí esta el archivo Captura de Pantalla 2024-04-27 a la(s) 14 08 04

Lo intenté correr en la terminal y me sale esto: Captura de Pantalla 2024-04-27 a la(s) 14 08 35

mon-b commented 2 months ago

Tengo otra idea para probar (espero que funcione).

Vi que tienes una versión de python instalada con pyenv, por lo que puedes intentar setear esta versión como global con el siguiente comando: pyenv global 3.11.7.

Luego, si el sig. comando. python --version da como output Python 3.11.7, corre pip install PyQt6 otra vez para que se instale en esa versión.

Si todo lo anterior funciona, en VS Code cambia el intérprete al de python 3.11.7 de pyenv.

mauriciosalass commented 2 months ago

holaa perdón tanta molestia pero aún no lo puedo solucionar, ahora me pasa esto: Captura de Pantalla 2024-04-27 a la(s) 16 57 42

mon-b commented 2 months ago

No te preocupes! Honestamente pensé que eso llegaría a funcionar... qué output te entrega el sig comando: pyenv versions?

La verdad es que no tengo claro cómo ayudarte pues los problemas más comunes son los que mencionamos antes :( podrías intentar investigar a full sobre cómo instalar correctamente el pyenv para utilizar pip y que en efecto PyQt quede en esa instalación de Python. Sino, se me ocurre que sigas investigando para acceder a la versión de Python de homebrew.

gatochico commented 2 months ago

Hola! @mauriciosalass , podrías probar con los siguientes comandos:

pip3 uninstall pyqt6 (o pip, el que uses para descargar paquetes) pip3 install pyqt6==6.5.3

Puede que sea que la última versión de pyqt6 tiene problemas con python en algunas versiones de Mac :eyes: . Avísannos cómo te va con eso

Hernan4444 commented 2 months ago

Hola,

Complementando a todo lo expuesto anteriormente, si es que usando pip3 (o pip) se te está instalando en un python distinto al que deseas... esto es por este comentario que pusiste antes:

y con respecto al comentario anterior, probé "pip install PyQt6" pero se me instaló en otra versión de python más antigua 3.9.x

La opción que recomiendo es hacer

python3.11 -m pip install ...

De esta forma, lo primero que haces es acceder al python que a ti te interesa (python3.11) y luego pedirle a dicho python que busque su propio pip, y recien ahí instalar todo. Intenta hacer lo que te recomendaron arriba, pero con el comando que te indiqué aquí para ir siempre a la segura que estás usando el pip de python3.11 y no de otro python.

Saludosヾ(^-^)ノ

mauriciosalass commented 2 months ago

Holaa muchas gracias por sus respuestas! Finalmente siguiendo sus consejos pude instalar al parecer correctamente pyqt6 :) Captura de Pantalla 2024-04-27 a la(s) 21 03 26

dsp probé un ejemplo de los contenidos y funcionó bieeen Captura de Pantalla 2024-04-27 a la(s) 21 11 52

muchas graciassss por su ayuda y tiempo