Résoudre l’erreur « ImportError: No module named datetime » en Jython

Jython : ImportError: No module named datetime

Si vous embarquez du script Python dans une application Java, vous utiliserez certainement Jython.

En Java, rien de plus simple; il suffit d’avoir le package Jython dans son classpath et d’avoir un code du type :

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
...
ScriptEngine engine;
engine = new ScriptEngineManager().getEngineByName( "python" );
...
engine.eval( scriptContent );

Si comme moi vous utilisez des modules type « datetime » et que vous rencontrez l’erreur :

javax.script.ScriptException: ImportError: No module named datetime in <script> at line number 10

c’est qu’il faut utiliser la librairie jython-standalone plutôt que jython !

Et si en plus, vous utilisez Apache Maven, il faut donc utiliser la dépendance :

<dependency>
	<groupId>org.python</groupId>
	<artifactId>jython-standalone</artifactId>
	<version>2.5.3</version>
</dependency>

plutôt que :

<dependency>
	<groupId>org.python</groupId>
	<artifactId>jython</artifactId>
	<version>2.5.3</version>
</dependency>

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *