Open
Description
Aquí van las versiones de los paquetes en un entorno
$ python
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
asciitree==0.3.3
asttokens==2.4.1
certifi==2024.8.30
cftime==1.6.4.post1
charset-normalizer==3.4.0
comm==0.2.2
contourpy==1.3.1
cycler==0.12.1
debugpy==1.8.8
decorator==5.1.1
exceptiongroup==1.2.2
executing==2.1.0
fasteners==0.19
flexcache==0.3
flexparser==0.4
fonttools==4.55.0
idna==3.10
ipykernel==6.29.5
ipython==8.29.0
jedi==0.19.2
jupyter_client==8.6.3
jupyter_core==5.7.2
kiwisolver==1.4.7
llvmlite==0.43.0
matplotlib==3.7.5
matplotlib-inline==0.1.7
nest-asyncio==1.6.0
netCDF4==1.7.2
numba==0.60.0
numcodecs==0.13.1
numpy==1.26.4
opencv-python==4.10.0.84
packaging==24.2
pandas==2.2.3
parso==0.8.4
pexpect==4.9.0
pillow==11.0.0
Pint==0.24.4
platformdirs==4.3.6
Polygon3==3.0.9.1
prompt_toolkit==3.0.48
psutil==6.1.0
ptyprocess==0.7.0
pure_eval==0.2.3
pyEddyTracker==0+untagged.744.g66f2f31
Pygments==2.18.0
pyparsing==3.2.0
python-dateutil==2.9.0.post0
pytz==2024.2
PyYAML==6.0.2
pyzmq==26.2.0
requests==2.32.3
scipy==1.14.1
six==1.16.0
stack-data==0.6.3
tornado==6.4.1
traitlets==5.14.3
typing_extensions==4.12.2
tzdata==2024.2
urllib3==2.2.3
wcwidth==0.2.13
xarray==2024.10.0
zarr==2.18.3
por si ayuda.
Activity
emiliom commentedon Nov 22, 2024
Hola @ctroupin . Tenés un archivo environment o requirements para crear este entorno, o la lista de paquetes y sus versiones que especificaste explícitamente al crear el entorno?
Gracias por esta información, y por crear este issue separado. Seguiré probando con un par de ideas.
Añado aquí el enlace a pyeddytracker, para tenerlo a mano: https://github.com/AntSimi/py-eddy-tracker
ctroupin commentedon Nov 23, 2024
Es curioso porque a partir de esta lista de paquetes, intenté crear un nuevo entorno virtual, instalando los paquetes con
pip install -r requirements.txt
pero no funciona del todo, cuando ejecuto un script de test:tengo un nuevo error:
Sigo investigando.
emiliom commentedon Nov 24, 2024
Gracias por esa información. No se ve prometedor.
Lo que yo pensaba (pienso) hacer es crear un entorno de conda en mi computadora, con pyeddytracker y nada más, a ver que pasa. Supongo que eso es lo que hiciste en tu última prueba. Nada más que quiero evitar tener que clonar el repositorio, porque creo que eso no es algo que puedo reproducir en el sistema de creación de entornos del hub.
ctroupin commentedon Nov 24, 2024
Sí, así empece, solo con
pyeddytracker
y luego añadir paso a paso lo que faltaba.Hice tantas pruebas que no apunte correctamente los pasos para tener un entorno que funciona, solo tengo la lista de paquetes + versiones obtenidos con
pip freeze
.ctroupin commentedon Nov 25, 2024
Good news: ahora sí tengo un entorno que funciona sin problema:
El problema
numba.core.errors.NumbaTypeError: Unsupported array type: numpy.ma.MaskedArray
lo pude arreglar poniendonumba==0.55.2
, lo que generó nuevos problemas de compatibilidad (numpy, scipy etc). Quitando las versiones en la lista de paquete, pude encontrar una combinación correcta.El último problema era lo de
matplotlib
, tuve que bajar la versión amatplotlib==3.7.1
(sino, no se detecta ningún remolino).Todo eso con Python 3.10.12, ahora hago la misma prueba con la misma versión de Python (3.12.7) que tenemos en el cloud de 2i2c.
Edit: Python 3.12 necesita al menos
numba0.59.0
. Con esta versión la instalación no genera ningún error, pero el script de test no funciona:Lo mismo con
numba0.60.0
emiliom commentedon Nov 25, 2024
Fantastico @ctroupin ! El Python actual en el hub es 3.12, pero podemos bajarlo a 3.11. Me parece que Matplotlib 3.7* no es compatible con Python 3.12.
Podrias probarlo con Python 3.11?
ctroupin commentedon Nov 25, 2024
Okay ahora/hoy hago las prubas con el 3.11.
Cruzando los dedos...
ctroupin commentedon Nov 25, 2024
De momento no lo consigo: los problemas aparecen por las versiones de
numba
, empezando con la más reciente (0.60.0
) intento bajar de versión en mi ficherorequirements.txt
(que cargo conpip install -r requirements.txt
), pero no puede finalizar la instalación del entorno, con mensajes como:emiliom commentedon Nov 25, 2024
Ni modo. Dejame pensar e investigar sobre basar el entorno de R en Python 3.10.
Mientras tanto, podrías crear un nuevo entorno on Python 3.10 donde especificás nada más una lista mínima de los paquetes necesarios (que obviamente instalan otras dependedencias), con su version pinning necesaria? Preferiblemente que la mayoría de los paquetes vengan de conda-forge, y solo de PyPI lo absolutamente necesario. Gracias!
ctroupin commentedon Nov 26, 2024
He probado lo siguiente, y funcionó:
pyEddyTracker
conpip
(ya que no no encuentra en conda-forge)No tuve que especificar versiones de paquetes, excepto
matplotlib
, para evitar tener la 3.8 que, al parecer, genera problame.Con eso tenemos el eddy-tracking funcionando. Después falta instalar otros paquetes:
emiliom commentedon Nov 26, 2024
Gracias @ctroupin ! Trataré de trabajar en esto hoy cuando lleguemos a la fase de proyectos. Te mantengo al tanto.
ctroupin commentedon Nov 26, 2024
Gracias @emiliom.
He intentado reproducir las instrucciones que te puse en el mensaje anterior, pero en otra máquina, y me funcionó también (que ya es un logro). A ver si podemos tener este entorno en el hub.
Si tengo tiempo unos de estos días hablaré con los desarrolladores de pyEddyTracker para ver si podemos ayudar a resolver el problema de compatibilidad con las últimas versiones de matplotlib.
emiliom commentedon Nov 26, 2024
He estado trabajando continuamente en esto, y está muy complicado. No lo mencionaste en tus últimos mensajes (aunque sí antes), pero la restricción de numba es ahorita el problema principal. Si no impongo version pinning de numba, me topo con el error que reportaste antes,
numba.core.errors.NumbaTypeError: Unsupported array type: numpy.ma.MaskedArray.
Numba 0.55 (de conda-forge) tiene una restricción en su dependencia en numpy (<1.22) que lo hace incompatible con la versión de Zarr que tenemos, que requiere numpy >= 1.23. Numba 0.56 parece que no funciona, el resolvedor de dependencias no encuentra una solución.Sigo probando unas alternativas, pero estoy cerca de darme por vencido. Lo que tendremos que explorar es el uso de un entorno personalizado en el hub. Desgraciadamente conda en sí no está disponible en el hub (explico luego), pero tengo instrucciones.
ctroupin commentedon Nov 26, 2024
Mala suerte, ya pensaba que trabajando con Python 3.10, solucionamos el tema de
numba
, pero es aun más complicado.Lo que haré es que pediré a los participantes del proyecto "remolinos" de pasarme los ficheros que han bajado, prepararé yo la detección de remolinos, y les devolveré los resultados que podrán procesar.
gracias por la ayuda, y siento de nuevo estas dificultadas inesperadas.
7 remaining items