Discussion:
[Jython-users] ImportError: No module named re
Stefan Richthofer
2016-07-07 22:08:08 UTC
Permalink
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Michael Chisholm
2016-07-07 23:27:41 UTC
Permalink
This looks like you placed a jar-file inside a jar-file.
I never tried this, but I doubt that Jython (actually Java?) can handle such
nesting of jars (maybe this feature was added and I am overlooking it, sorry in
that case).
It's possible; spring-boot does it [1]. I guess with the ability to
write custom classloaders, the sky's the limit :)

According to
http://www.jython.org/jythonbook/en/1.0/SimpleWebApps.html?highlight=explode#distributing-via-standalone-jar
(which is somewhat dated though) you should "explode" jython-standalone, add
your code-files and then jar it again. I suppose you would have to do this with
your other dependencies too or distribute them as separate files.
(Maybe you better try this with a toy-example first, before re-packing all the
jars).
That's sometimes referred to as a "shaded" jar. [1] mentions that
approach too.
Looking at this, the need for some kind of deployment-tool that would automate
such a process comes to my mind. You should maybe check, whether such a thing
already exists (maybe for Java-apps in general).
I know Maven has a plugin for it [2]. Other build tools might too.

I don't know if this is helpful for Ranga's actual problem, but from the
quoted email, I thought it would be of interest.

Andy

1.
http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#executable-jar
2. http://maven.apache.org/plugins/maven-shade-plugin/
magicalne
2016-12-29 07:13:47 UTC
Permalink
Hi all,

I have been through this issue for almost 2 days. I think I have figured it
out.

I use jsr223(groovy, jython) in my spring boot web project. I can execute
groovy script, but not jython script.

It looks like jython script want to import some modules from "Lib". But it
cannot locate the right path to the "Lib".

I think jython is a little guilty on this issue.

The most simple way to get it work is to use :
*springBoot { requiresUnpack = ['org.jruby:jruby-complete'] }*

You can find it in spring boot doc:
http://docs.spring.io/spring-boot/docs/current/reference/html/howto-build.html#howto-extract-specific-libraries-when-an-executable-jar-runs
<http://docs.spring.io/spring-boot/docs/current/reference/html/howto-build.html#howto-extract-specific-libraries-when-an-executable-jar-runs>

And it explains how it works.




--
View this message in context: http://python.6.x6.nabble.com/Re-ImportError-No-module-named-re-tp5194446p5206030.html
Sent from the jython-users mailing list archive at Nabble.com.
Curtis Rueden
2016-12-29 15:35:22 UTC
Permalink
Hi Chandler,
Post by magicalne
It looks like jython script want to import some modules from "Lib".
But it cannot locate the right path to the "Lib".
The Lib files are only present in jython-standalone, not jython base:

$ jar tf ~/.m2/repository/org/python/jython/2.7.0/jython-2.7.0.jar|grep
^Lib|wc -l
0
$ jar tf ~/.m2/repository/org/python/jython-standalone/2.7.0/
jython-standalone-2.7.0.jar|grep ^Lib|wc -l
1226

I'm not sure how JRuby relates to this issue though, except that Jython and
JRuby are rather incompatible with one another on the same classpath,
unless you take special measures [1].

Regards,
Curtis

[1] https://github.com/scijava/jython-shaded

--
Curtis Rueden
LOCI software architect - http://loci.wisc.edu/software
ImageJ2 lead, Fiji maintainer - http://imagej.net/User:Rueden
Post by magicalne
Hi all,
I have been through this issue for almost 2 days. I think I have figured it
out.
I use jsr223(groovy, jython) in my spring boot web project. I can execute
groovy script, but not jython script.
It looks like jython script want to import some modules from "Lib". But it
cannot locate the right path to the "Lib".
I think jython is a little guilty on this issue.
*springBoot { requiresUnpack = ['org.jruby:jruby-complete'] }*
http://docs.spring.io/spring-boot/docs/current/reference/htm
l/howto-build.html#howto-extract-specific-libraries-when-an-
executable-jar-runs
<http://docs.spring.io/spring-boot/docs/current/reference/ht
ml/howto-build.html#howto-extract-specific-libraries-when-
an-executable-jar-runs>
And it explains how it works.
--
View this message in context: http://python.6.x6.nabble.com/
Re-ImportError-No-module-named-re-tp5194446p5206030.html
Sent from the jython-users mailing list archive at Nabble.com.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jython-users mailing list
https://lists.sourceforge.net/lists/listinfo/jython-users
Continue reading on narkive:
Loading...