Borrar filtros
Borrar filtros

py.list bug in R2024a

56 visualizaciones (últimos 30 días)
Tom Grieve
Tom Grieve el 23 de Jul. de 2024 a las 19:14
Comentada: Steven Lord hace alrededor de 16 horas
I believe I'm experiencing a bug in R2024a with py.list. After a clear all, I get the error No module or function named 'list'.:
clear all;res = py.list({"Name1","Name2","Name3"});
In this interface, the code runs just fine. When I run it locally, I get this:
>> clear all;res = py.list({"Name1","Name2","Name3"})
No module or function named 'list'.
I can get py.list to work again if I use another Python command. For example, this works:
>> handlers = py.logging.getLogger().handlers;
>> res = py.list({"Name1","Name2","Name3"});
>> clear all;res = py.list({"Name1","Name2","Name3"});
No module or function named 'list'.
I'm running MATLAB Version: 24.1.0.2628055 (R2024a) Update 4. I cannot replicate on R2023b.

Respuesta aceptada

Steven Lord
Steven Lord el 23 de Jul. de 2024 a las 20:01
  4 comentarios
Tom Grieve
Tom Grieve el 24 de Jul. de 2024 a las 20:09
I can find the bug report now with no problem. I'm not sure what I was searching for, but I think I only used "python" as a keyword. I didn't connect my use of "clear all" with the behavior until after I searched, so the name of that bug report may not have meant anything to me.
Steven Lord
Steven Lord hace alrededor de 16 horas
We tweaked the summary of the bug report to include part of the error message, hopefully that will make it more discoverable when people search for it.

Iniciar sesión para comentar.

Más respuestas (1)

Avni Agrawal
Avni Agrawal el 23 de Jul. de 2024 a las 19:49
I understand that you are encountering an error when trying to access Python classes after using clear all in the command line for the R2024a release. I experienced a similar issue, and I found a workaround that worked for me. Executing clear classes allows MATLAB to locate and recreate the Python modules. For example:
clear all;res = py.list({"Name1","Name2","Name3"});
clear classes;
res = py.list({"Name1","Name2","Name3"});
I hope this helps!
  1 comentario
Tom Grieve
Tom Grieve el 23 de Jul. de 2024 a las 20:31
Thanks for your help! I'll have to try this workaround and see if it works better than mine for my application.

Iniciar sesión para comentar.

Categorías

Más información sobre Call Python from MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by