0 votos

Python 3.9 no encuentra paquetes que funcionen con Python 3.8

Me cuesta entender cómo se instala Python en mi Mac. No estoy seguro de si es importante, pero tengo un Macbook Pro con un chip M1 Pro y vengo de años de usar Linux con un gestor de paquetes y, por lo tanto, principalmente uso iTerm 2 junto con brew para gestionar mis instalaciones.

Cuando abro iTerm e introduzco el comando python3 Me reciben con

 python3
Python 3.8.9 (default, Oct 26 2021, 07:25:53)
[Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> 

Puedo importar paquetes que he instalado con pip3 . Pero recientemente he instalado PyQt5 sobre el comando brew install pyqt5 y como dependencia, instaló Python 3.9.9 junto a ella. Ahora también puedo utilizar el comando python 3.9 y me sale

 python3.9
Python 3.9.9 (main, Nov 21 2021, 03:16:13)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
>>>

Puedo ver que 3.8.9 es la predeterminada, lo que me parece un poco raro (habría esperado que se utilizara la versión estable más reciente como predeterminada), pero no entiendo en absoluto por qué los paquetes que instalé con pip3 puede ser importado por python3.8.9 pero no por python3.9.9 ... Estoy dudando en quitar alguna versión de Python porque sé que MacOS depende de algunas de ellas... ¿Podría alguien arrojar algo de luz sobre lo que está pasando aquí y cómo puedo establecer la versión más nueva como la versión por defecto y conseguir que reconozca los paquetes instalados?

3voto

yoliho Puntos 340

Tienes dos instalaciones distintas de python3 y no se conocen entre sí,

Uno de Apple el original en /usr/bin/python3 la versión 3.8.9

La otra vía Homebrew (sospecho que en /opt/homebrew/python3) la 3.9.9

No saben nada el uno del otro.

pip3 es un archivo script que está relacionado con la versión de Python con la que trabaja - la primera línea de pip3 es #!<path>/python3

Para usar la nueva versión de homebrew necesitas pip3 de Homebrew y luego usa ese pip3 para instalar los paquetes de Python que instalaste para la versión de Apple.

La versión de Python (y de pip) que acabe utilizando será la primera que aparezca en su $PATH - véase which python3 para ver lo que piensa la cáscara

Si realmente quieres usar Python también deberías mirar la forma oficial de Python de usar múltiples versiones de Python y versiones de paquetes - venv https://docs.Python.org/3/library/venv.html

0voto

Marc Wilson Puntos 146

Porque cada uno de ellos tiene su propio directorio de paquetes de sitio. Así es como funciona Python, después de todo. No comparten.

El Python 3.8.9 que tienes instalado es el que proporciona Apple a través del CLT.

El Python 3.9.9 que tienes instalado es el de Homebrew. Si quieres instalar paquetes en ella, hazlo.

Homebrew probablemente tiene algún método roto para anular python3 .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X