Évitez d'utiliser un package nommé « code » avec des méthodes Python intégrées utilisant [Language = python]
Bonjour,
Comme il m'a fallu un certain temps pour comprendre d'où venait le problème, je voudrais partager cette expérience, afin que vous ne tombiez pas dans le même piège.
Je viens de remarquer que si vous nommez votre package "code" (tout en minuscules), dans une classe utilisant du python intégré en utilisant [Language = python], vous aurez l'erreur suivante :
<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 packageCela fonctionne bien avec "Code" :
Class Code.basics Extends%RegisteredObject
{
ClassMethod Welcome() As%Status [ Language = python ]
{
print('Welcome!')
return True
}
}IRISAPP>w##class(Code.basics).Welcome()
Welcome!
1Discussion (0)0