Artículo
· 6 mar, 2025 Lectura de 1 min

Evitad usar el paquete llamado «code» con métodos python incrustados usando [Language = python].

Hola,

como me tomó algún tiempo para averiguar lo que está mal, me gustaría compartir esta experiencia, para que no caigáis en la misma trampa.

Acabo de darme cuenta de que si nombráis a vuestro paquete «code» (todo en minúsculas), en una clase que usa algo de python embebido usando [Language = python], os encontraréis con la <THROW> *%Exception.PythonException <PYTHON EXCEPTION> 246 <class 'ModuleNotFoundError'>: No module named 'code.basics'; 'code' is not a package

Class code.basics Extends %RegisteredObject
{

ClassMethod Welcome() As %Status [ Language = python ]
{
print('Welcome!')
return True
}
}
IRISAPP>w ##class(code.basics).Welcome()

W ##CLASS(code.basics).Welcome()
^
<THROW> *%Exception.PythonException <PYTHON EXCEPTION> 246 <class 'ModuleNotFoundError'>: No module named 'code.basics'; 'code' is not a package

Funciona bien con "Code" :

Class Code.basics Extends %RegisteredObject
{

ClassMethod Welcome() As %Status [ Language = python ]
{
print('Welcome!')
return True
}
}
IRISAPP>w ##class(Code.basics).Welcome()
Welcome!
1
Comentarios (0)1
Inicie sesión o regístrese para continuar