Re-bonjour a tous,
je vais être plus précis :
J'ai intégré un interpréteur Jython dans notre appli java (basée sur la plate forme NetBeans) grâce à l'API Jython :
http://www.jython.org/docs/javadoc/index.html
J'utilise donc la classe PythonInterpreter pour instancier un interpréteur et l'intégrer à l'appli donc l'environnement ne doit pas être tout a fait le même que lorsque l'on lance l'interpréteur à la main (en commande DOS par ex).
effectivement, on se rend rapidement compte de certains problèmes : je test/import/script des choses dans l'interpréteur 'standard' qui ne fonctionnent pas forcément dans mon interpréteur 'embarqué', par exemple :
Code :
- C:\jython-2.1\jython
- >>> import urllib
- >>>print urllib.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl').read()
|
#ce qui affiche :
<TITLE>What time is it?</TITLE>
<H2> US Naval Observatory Master Clock Time</H2> <H3>
<BR>Mar. 19, 08:56:01 UTC
<BR>Mar. 19, 03:56:01 AM EST
<BR>Mar. 19, 02:56:01 AM CST
<BR>Mar. 19, 01:56:01 AM MST
<BR>Mar. 19, 12:56:01 AM PST
<BR>Mar. 18, 11:56:01 PM YST
<BR>Mar. 18, 10:56:01 PM AST
</H3></B><P><A HREF="http://tycho.usno.navy.mil">Time Service Department, US Nav
La même chose dans mon interpréteur 'embarqué' :
Code :
- >>>import urllib
- Traceback (innermost last):
- File "<string>", line 1, in ?
- File "c:\jython-2.1\Lib\urllib.py", line 44, in ?
- File "c:\jython-2.1\Lib\javaos.py", line 32, in ?
- File "c:\jython-2.1\Lib\re.py", line 7, in ?
- File "c:\jython-2.1\Lib\sre.py", line 17, in ?
- File "c:\jython-2.1\Lib\sre_compile.py", line 15, in ?
- AttributeError: class 'org.python.modules._sre' has no attribute 'MAGIC'
|
Et puis, bizarrerie, si j'insiste :
Code :
- >>>import urllib
- >>>
- #il ne me dit plus rien ...
- >>>print urllib.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl').read()
- Traceback (innermost last):
- File "<string>", line 1, in ?
- AttributeError: module 'urllib' has no attribute 'urlopen'
- #mais c'est pas pour ca que ca marche ...
|
voila j'ai 2 variables d'environnement :
DOS> echo %PYTHONPATH%
--> .;C:\jython-2.1;C:\jython-2.1\Lib;c:\python21;c:\python21\Lib;D:\jython\Lib;d:\jython\Lib\test
Je place mes modules dans d:\jython\Lib
DOS> echo %PYTHON_HOME%
--> c:\jython-2.1
Avant dans mon interpréteur embarqué je n'arrivai même pas à importer des modules depuis 'd:\jython\Lib', j'ai résolu le problème en utilisant la fonction PythonInterpreter.initialize(...) et en lui indiquant les valeurs de 'python.home' et 'python.path'.
pour info, j'utilise jython 2.1 avec python 2.1.3 et le jdk1.4.2 sous window$ 2000
Toutes les idées seront bienvenues ... je desespère là
merci
vince