jpype-users Mailing List for JPype
Status: Beta
Brought to you by:
devilwolf
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(3) |
Mar
(14) |
Apr
(10) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2006 |
Jan
(2) |
Feb
(22) |
Mar
(9) |
Apr
|
May
(5) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
(6) |
Oct
|
Nov
(18) |
Dec
|
2007 |
Jan
(8) |
Feb
(4) |
Mar
(14) |
Apr
(23) |
May
|
Jun
(6) |
Jul
(4) |
Aug
(10) |
Sep
(12) |
Oct
(2) |
Nov
(12) |
Dec
(5) |
2008 |
Jan
(13) |
Feb
(11) |
Mar
(11) |
Apr
(14) |
May
(7) |
Jun
(1) |
Jul
(5) |
Aug
(4) |
Sep
(9) |
Oct
(9) |
Nov
(24) |
Dec
(31) |
2009 |
Jan
(12) |
Feb
(17) |
Mar
(10) |
Apr
(25) |
May
(33) |
Jun
(20) |
Jul
(34) |
Aug
(13) |
Sep
(2) |
Oct
(4) |
Nov
(1) |
Dec
(9) |
2010 |
Jan
(12) |
Feb
(12) |
Mar
(8) |
Apr
(3) |
May
(4) |
Jun
(10) |
Jul
(1) |
Aug
(3) |
Sep
(3) |
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
(14) |
Feb
(1) |
Mar
(1) |
Apr
(11) |
May
(3) |
Jun
(5) |
Jul
(3) |
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
(6) |
2012 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
|
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2021 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Robert <857...@qq...> - 2021-02-23 05:53:08
|
Are you Looking for l towel l Hair towel l Hooded towel l nonwoven towel we are one of the Towel textile manufacturers in China. we provide with reliable prices and Only High quality , which has good reputation all around the world.if you need these products, please reply us with your requirement details! Free samples available~! waiting for your early reply! Tks. Robert CEO Email: 857...@qq... whatsapp:+86 17692370502 About us We exporting towel, hair towel, hooded towel and nonwoven towel to Italy, USA, Korea, UK, Dubai, Germany, Russia, South Africa... The production capacity of our new factory is about 400,000 pcs monthly. |
From: Ms. J. <hm...@sz...> - 2021-01-11 07:30:12
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META name=GENERATOR content="MSHTML 11.00.9600.19597"></HEAD> <BODY><!--StartFragment --> <DIV>Dear<BR>I am very pleased to know you from your website,Pls we are OEM&ODM Chinese manufacturers of switches &sockets( contains keyboard switch,fridge switch,micro switch,rocker switch,dip switch,tact switch,slide switch push button switch, rotary switch,AC/DCsockets and less connectors).<BR>we are speclized in this file more than 10 years,from products design ,delvelopment mould,output,assemble,sales-service,<BR>Extra service: Free design based on your logo or ideas.<BR>Hope to work together with high quality products and competitive price, to create a win-win situation.<BR>Pls feel free to contact us if any interests.<BR>My contacts<BR>Mrs. Janice <BR>Shenzhen Hong Ming Qiang Technology Co..Ltd<BR>Shenzhen, Guangdong ,China<BR>Mobile Number:15994822483<BR>Wechat number:15994822483<BR>Skype janice1986liu<BR>Email address:hm...@sz...<BR>Website: <IMG src="file:///C:/Users/Administrator/AppData/Roaming/Tencent/QQ/Temp/[5UQ[BL(6~BS2JV6W%7DN6[%25S.png">http://www.szhongmingkj.en.alibaba.com<BR> <BR><BR>Sincerely<BR>Mrs. Janice</DIV></BODY></HTML> |
From: selena y. <se...@td...> - 2021-01-08 08:45:57
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META name=GENERATOR content="MSHTML 9.00.8112.16737"></HEAD> <BODY> <P>Dear Sir / Madam ,</P> <P>Me, selena again. Here we will give brief introduction for quality guarantee of pcba manufacturing for your reference:</P> <P>1: We are IATF16949 verified factory , which make sure all pcba materials meet ROHS and Reach standard and PCB meet IPC class 2 standard</P> <P>2: 9 steps quality check : DFM -ERP introduction-IQC-First sample QC checking-IPQC checking-AOI test-X-Ray test -100% full QC checking- Function test -QA checking</P> <P>Please feel free to contact us if any other questions</P> <P>With best regards</P> <P>Selena</P></BODY></HTML> |
From: Ted <te...@gr...> - 2020-12-21 09:47:10
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD> <BODY> <P><FONT color=#0000ff face=Arial><STRONG>DearSir/Madam,</STRONG></FONT></P> <P><FONT color=#0000ff face=Arial><STRONG>Nice to meet you.</STRONG></FONT></P> <P><FONT color=#0000ff face=Arial><STRONG>I am pleased to take this chance to contact with you and introduce our company,a company specialized in Contactor and Circuit Breaker for 10years and devote to supply our customs products in superior quality and more competitive price.</STRONG></FONT></P> <P><FONT color=#0000ff face=Arial><STRONG>1. Promptly delivered goods and the time in general within 5-15days.</STRONG></FONT></P> <P><FONT color=#0000ff face=Arial><STRONG>2.Control products quality,and our products in accordance with IEC Stanrard and Chinese GB Standard.</STRONG></FONT></P> <P><FONT color=#0000ff face=Arial><STRONG>E-Catagory will be sent if you need.</STRONG></FONT></P> <P><FONT color=#0000ff face=Arial><STRONG>More information required,kindly contact me.</STRONG></FONT></P> <P><FONT face=Arial>Ted Tu<BR>(Business specialist)</FONT></P> <P><FONT face=Arial>Zhejiang GWIEC ELECTRIC CO.,Ltd<BR></FONT><FONT face=Arial>whatsapp:0086-13868752850 Skype:live:6c3435c6b7a921f<BR></FONT></P></BODY></HTML> |
From: Mohammed G. <moh...@gm...> - 2016-04-16 12:09:04
|
Dear Jpype Users, I'm trying to access package/class inside my dmvpn jar. My code is below: from jpype import * classpath = "/root/.m2/repository/com/cisco/srtg/model/artifacts/dmvpn/2.14.13/dmvpn-2.14.13.jar" startJVM("/auto/client/libjvm.so","-Djava.class.path=%s"%classpath) java.lang.System.out.println("hello world") tunnel_int = JPackage("com").cisco.security.vpn.dmvpn.TunnelInterface tunnel_Class = tunnel_int.TunnelInterface tunnel_obj = tunnel_Class() Error Output: [root@sdn-linux-4 mohammem]# python3 hello.py hello world Traceback (most recent call last): File "hello.py", line 15, in <module> tunnel_obj = tunnel_Class() File "/usr/local/lib/python3.4/site-packages/JPype1-0.6.1-py3.4-linux-i686.egg/jpype/_jpackage.py", line 55, in __call__ raise TypeError("Package {0} is not Callable".format(self.__name)) TypeError: Package com.cisco.security.vpn.dmvpn.TunnelInterface.TunnelInterface is not Callable Observations: 1. jvm loaded from the path 2. hello world msg printed 3. pblm in calling package Can anyone please help me out in this case? your help is very much appreciated!!! Thanks, Mohammed.M |
From: Steve M. <men...@gm...> - 2013-07-07 19:38:56
|
Jpype 0.5 does not work with python 3.x. I am working on a new version that does, but it is not ready for release yet. On Jul 7, 2013 2:21 PM, "Tamer Higazi" <th...@go...> wrote: > I am running JPype with the latest version of python. > > Look in the setup.py, there you have to set YOUR PATH to YOUR SYSTEM > JVM. Then it all works fine! > > If it does with python3, I have no clue... > > > > Tamer > > > Am 04.07.2013 17:54, schrieb D M: > > Hi, > > Does anyone know when is Jpype 1.0 planned, if it is? > > Also which Python version is needed for the current version of Jpype? > > > > Thanks > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Jpype-users mailing list > Jpy...@li... > https://lists.sourceforge.net/lists/listinfo/jpype-users > |
From: Tamer H. <th...@go...> - 2013-07-07 18:21:04
|
I am running JPype with the latest version of python. Look in the setup.py, there you have to set YOUR PATH to YOUR SYSTEM JVM. Then it all works fine! If it does with python3, I have no clue... Tamer Am 04.07.2013 17:54, schrieb D M: > Hi, > Does anyone know when is Jpype 1.0 planned, if it is? > Also which Python version is needed for the current version of Jpype? > > Thanks |
From: D M <min...@gm...> - 2013-07-04 15:54:30
|
Hi, Does anyone know when is Jpype 1.0 planned, if it is? Also which Python version is needed for the current version of Jpype? Thanks |
From: Steve M. <men...@gm...> - 2013-03-29 17:06:01
|
I am not familiar with DNS's scripting capabilities, but who knows what DNS does to it's PATH? LoadLibrary will follow the PATH to find the requested DLLs. execute the following and it should give you a better idea : import os print os.environ['PATH'] Steve Menard ------------------------------ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Rick Cook, The Wizardry Compiled ------ There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence. -- Jeremy S. Anderson On Fri, Mar 29, 2013 at 5:20 AM, Jason Veldicott <jas...@gm...>wrote: > Update.. the problem has been reduced to the following giving an error > when executed only within a callback of Dragon Naturallyspeaking (DNS): > > import win32api > print win32api.LoadLibrary('MSVCR90.DLL') > > produces error: > > Traceback (most recent call last): > File "H:\NatLink\NatLink\MacroSystem\core\natlinkmain.py", line 712, in > start_natlink > print win32api.LoadLibrary('MSVCR90.DLL') > error: (126, 'LoadLibrary', 'The specified module could not be found.') > > Seems win32api library lookup isn't working within DNS, and have no idea > why. As far as I know the callback is working in 32 bit mode compatible > with the python version installed, so dll lookup wouldn't be failing due to > incompatible platforms. Any suggestions appreciated. > > Jason > > > On Mon, Mar 25, 2013 at 1:35 AM, Jason Veldicott <jas...@gm... > > wrote: > >> Hi, >> >> Have run into a problem with Jpype importation that has me stumped. >> >> Running the import in a script from the command line does not produce an >> error. However, when the script is run from as a plugin callback of Dragon >> Naturallyspeaking (DNS), this error is reported: >> >> File "H:\Python26\lib\site-packages\jpype\_jpackage.py", line 18, in >> <module> >> import _jpype >> ImportError: DLL load failed: The specified module could not be found. >> >> If I load the _jpype.pyd file directly using ctypes.PyDLL, this error msg >> is produced: >> >> print ctypes.PyDLL(r'C:\Python26\Lib\site-packages\_jpype.pyd') >> File "H:\Python26\Lib\ctypes\__init__.py", line 353, in __init__ >> self._handle = _dlopen(self._name, mode) >> WindowsError: [Error 126] The specified module could not be found >> >> I have looked at the dependencies of _jpype.pyd using Dependency Walker, >> in case a missing dependence is causing the above error message, and it >> reports MSVCP90.DLL, MSVCR90.DLL, and IESHIMS.DLL were not found (though >> command line import works fine as mentioned). Searching for these dlls in >> \Windows and adding them to the path environment variable caused DNS >> startup problems with its C/C++ compiler, perhaps because of dll version >> incompatibilities. JAVA_HOME for locating jvm.dll is set to H:\Program >> Files (x86)\Java\jdk1.7.0_17. Python version is 2.6 32 bit and it's >> running in win 8 64 bit. >> >> Any suggestions on how to get Jpype to load properly in this case would >> be greatly appreciated. >> >> Thanks >> >> Jason >> > > > > ------------------------------------------------------------------------------ > Own the Future-Intel(R) Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. Compete > for recognition, cash, and the chance to get your game on Steam. > $5K grand prize plus 10 genre and skill prizes. Submit your demo > by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 > _______________________________________________ > Jpype-users mailing list > Jpy...@li... > https://lists.sourceforge.net/lists/listinfo/jpype-users > > |
From: Jason V. <jas...@gm...> - 2013-03-29 09:21:08
|
Update.. the problem has been reduced to the following giving an error when executed only within a callback of Dragon Naturallyspeaking (DNS): import win32api print win32api.LoadLibrary('MSVCR90.DLL') produces error: Traceback (most recent call last): File "H:\NatLink\NatLink\MacroSystem\core\natlinkmain.py", line 712, in start_natlink print win32api.LoadLibrary('MSVCR90.DLL') error: (126, 'LoadLibrary', 'The specified module could not be found.') Seems win32api library lookup isn't working within DNS, and have no idea why. As far as I know the callback is working in 32 bit mode compatible with the python version installed, so dll lookup wouldn't be failing due to incompatible platforms. Any suggestions appreciated. Jason On Mon, Mar 25, 2013 at 1:35 AM, Jason Veldicott <jas...@gm...>wrote: > Hi, > > Have run into a problem with Jpype importation that has me stumped. > > Running the import in a script from the command line does not produce an > error. However, when the script is run from as a plugin callback of Dragon > Naturallyspeaking (DNS), this error is reported: > > File "H:\Python26\lib\site-packages\jpype\_jpackage.py", line 18, in > <module> > import _jpype > ImportError: DLL load failed: The specified module could not be found. > > If I load the _jpype.pyd file directly using ctypes.PyDLL, this error msg > is produced: > > print ctypes.PyDLL(r'C:\Python26\Lib\site-packages\_jpype.pyd') > File "H:\Python26\Lib\ctypes\__init__.py", line 353, in __init__ > self._handle = _dlopen(self._name, mode) > WindowsError: [Error 126] The specified module could not be found > > I have looked at the dependencies of _jpype.pyd using Dependency Walker, > in case a missing dependence is causing the above error message, and it > reports MSVCP90.DLL, MSVCR90.DLL, and IESHIMS.DLL were not found (though > command line import works fine as mentioned). Searching for these dlls in > \Windows and adding them to the path environment variable caused DNS > startup problems with its C/C++ compiler, perhaps because of dll version > incompatibilities. JAVA_HOME for locating jvm.dll is set to H:\Program > Files (x86)\Java\jdk1.7.0_17. Python version is 2.6 32 bit and it's > running in win 8 64 bit. > > Any suggestions on how to get Jpype to load properly in this case would be > greatly appreciated. > > Thanks > > Jason > |
From: Jason V. <jas...@gm...> - 2013-03-24 14:35:20
|
Hi, Have run into a problem with Jpype importation that has me stumped. Running the import in a script from the command line does not produce an error. However, when the script is run from as a plugin callback of Dragon Naturallyspeaking (DNS), this error is reported: File "H:\Python26\lib\site-packages\jpype\_jpackage.py", line 18, in <module> import _jpype ImportError: DLL load failed: The specified module could not be found. If I load the _jpype.pyd file directly using ctypes.PyDLL, this error msg is produced: print ctypes.PyDLL(r'C:\Python26\Lib\site-packages\_jpype.pyd') File "H:\Python26\Lib\ctypes\__init__.py", line 353, in __init__ self._handle = _dlopen(self._name, mode) WindowsError: [Error 126] The specified module could not be found I have looked at the dependencies of _jpype.pyd using Dependency Walker, in case a missing dependence is causing the above error message, and it reports MSVCP90.DLL, MSVCR90.DLL, and IESHIMS.DLL were not found (though command line import works fine as mentioned). Searching for these dlls in \Windows and adding them to the path environment variable caused DNS startup problems with its C/C++ compiler, perhaps because of dll version incompatibilities. JAVA_HOME for locating jvm.dll is set to H:\Program Files (x86)\Java\jdk1.7.0_17. Python version is 2.6 32 bit and it's running in win 8 64 bit. Any suggestions on how to get Jpype to load properly in this case would be greatly appreciated. Thanks Jason |
From: Joel N. <jno...@st...> - 2012-05-22 01:30:32
|
On Tue, 22 May 2012 11:11:17 +1000, Steve Ménard <men...@gm...> wrote: > I am not aware of any method that would allow a 32-bit process to load a > 64-bit DLL, or vice-versa (ok htere are ways, but they are extremely > convoluted and fragile). > > Considering that all macs are now 64-bits (except for much older machines > .. on which you won't get java 6 anyway), is there anything preventing > you from switching to a 64-bit build of python ? Mostly the thought of a day spent recompiling. =P |
From: Steve M. <men...@gm...> - 2012-05-22 01:11:25
|
I am not aware of any method that would allow a 32-bit process to load a 64-bit DLL, or vice-versa (ok htere are ways, but they are extremely convoluted and fragile). Considering that all macs are now 64-bits (except for much older machines .. on which you won't get java 6 anyway), is there anything preventing you from switching to a 64-bit build of python ? Steve Menard ------------------------------ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Rick Cook, The Wizardry Compiled ------ There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence. -- Jeremy S. Anderson On Mon, May 21, 2012 at 8:03 PM, Joel Nothman <jno...@st...>wrote: > > Thanks Steve, > > Eventually I discovered that I'm meant to use libverify.dylib instead of > libjvm.dylib (or, as it seems, libjvm_compat.dylib in OSX 10.5). > > However, I'm currently using a 32-bit compilation of Python, and the Apple > Java distribution is 64-bit only. I don't know whether this affected its > automatic use of the JVM, but this is all I get when I load it directly: > > jpype.startJVM('/System/**Library/Java/**JavaVirtualMachines/1.6.0.jdk/** >>>> Contents/Libraries/libverify.**dylib') >>>> >>> Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/Library/Frameworks/Python.**framework/Versions/2.7/lib/** > python2.7/site-packages/jpype/**_core.py", line 44, in startJVM > _jpype.startup(jvm, tuple(args), True) > RuntimeError: Unable to load DLL [/System/Library/Java/** > JavaVirtualMachines/1.6.0.jdk/**Contents/Libraries/libverify.**dylib], > error = dlopen(/System/Library/Java/**JavaVirtualMachines/1.6.0.jdk/** > Contents/Libraries/libverify.**dylib, 9): no suitable image found. Did > find: > /System/Library/Java/**JavaVirtualMachines/1.6.0.jdk/** > Contents/Libraries/libverify.**dylib: mach-o, but wrong architecture at > src/native/common/include/jp_**platform_linux.h:45 > > So apparently there's a 32-bit Java 6 distribution called Soy Latte ( > http://landonf.bikemonkey.**org/static/soylatte/<http://landonf.bikemonkey.org/static/soylatte/>), > but as yet, I've not got it working: > > import jpype >>>> jpype.startJVM('/Users/joel/**Downloads/soylatte16-i386-1.0.** >>>> 3/jre/lib/i386/libverify.**dylib') >>>> >>> Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/Library/Frameworks/Python.**framework/Versions/2.7/lib/** > python2.7/site-packages/jpype/**_core.py", line 44, in startJVM > _jpype.startup(jvm, tuple(args), True) > RuntimeError: Unable to load DLL [/Users/joel/Downloads/** > soylatte16-i386-1.0.3/jre/lib/**i386/libverify.dylib], error = > dlopen(/Users/joel/Downloads/**soylatte16-i386-1.0.3/jre/lib/**i386/libverify.dylib, > 9): Library not loaded: libjvm.dylib > Referenced from: /Users/joel/Downloads/**soylatte16-i386-1.0.3/jre/lib/** > i386/libverify.dylib > Reason: image not found at src/native/common/include/jp_** > platform_linux.h:45 > > or > > jpype.startJVM('/Users/joel/**Downloads/soylatte16-i386-1.0.** >>>> 3/jre/lib/i386/client/libjvm.**dylib') >>>> >>> Error occurred during initialization of VM > Unable to load native library: dlopen(/Users/joel/Downloads/** > soylatte16-i386-1.0.3/jre/lib/**i386/libjava.dylib, 1): Library not > loaded: libjvm.dylib > Referenced from: /Users/joel/Downloads/**soylatte16-i386-1.0.3/jre/lib/** > i386/libjava.dylib > Reason: image not found > > > Now that I know it's an architecture problem, at least there are a few > things I know I can do, but for the moment I'm going to do any JPyping on > another machine. > > Thanks, > > - Joel > > > On Tue, 22 May 2012 08:35:59 +1000, Steve Ménard <men...@gm...> > wrote: > > This is not good ... and honestly, I don;t think I'll be able to help you >> much with it, since I don't have access to a mac. >> >> I've done a quick search, I found this link which may be useful to you : >> http://stackoverflow.com/**questions/7118750/failed-to-** >> locate-method-jni-**getcreatedjavavms-in-the-**libjvm-dylib-mac-os<http://stackoverflow.com/questions/7118750/failed-to-locate-method-jni-getcreatedjavavms-in-the-libjvm-dylib-mac-os> >> >> Looks like Apple changed the way theyre dynlibs are organized starting >> with >> 1.6. >> >> Hopefully this is going to hep you. Good Luck. >> >> Steve Menard >> >> ------------------------------ >> Programming today is a race between software engineers striving to build >> bigger and better idiot-proof programs, and the Universe trying to produce >> bigger and better idiots. So far, the Universe is winning. >> Rick Cook, The Wizardry Compiled >> ------ >> There are two major products that come out of Berkeley: LSD and UNIX. We >> don't believe this to be a coincidence. >> -- Jeremy S. Anderson >> >> >> On Mon, May 21, 2012 at 10:44 AM, Joel Nothman < >> jno...@st... >> >>> wrote: >>> >> >> >>> Hi, >>> >>> JPype was looking like a good solution to my Python-Java interfacing >>> needs, but then it refused to load some classes I needed. >>> >>> It turns out JPype was happily loading Java 1.5 classes, but failing for >>> Java 1.6 classes with the same old "class not found" exception (which had >>> me frustrated trying different class paths for some time). >>> >>> I have no problem compiling Java code importing these same classes. >>> >>> jpype.getDefaultJVMPath() returns >>> '/System/Library/Frameworks/**JavaVM.framework/JavaVM', which symlinks >>> to >>> /System/Library/Frameworks/**JavaVM.framework/Versions/A/**JavaVM, a >>> binary >>> provided by Apple. I assume JavaVM is meant to provide the current Java >>> version, but it seems to not be doing that for JPype. >>> >>> It certainly seems as if everything else is set up for Java 1.6: >>> >>> $ which javac >>> /System/Library/Frameworks/**JavaVM.framework/Versions/1.6/** >>> Home/bin/javac >>> >>> >>> I would specify a more precise JVM path, but the Apple distribution of >>> Java 1.6.0 doesn't have a libjvm.dylib, only libjvmlinkage.dylib which >>> does not work as a JPype JVM path. >>> >>> Any hints? >>> >>> Thanks, >>> >>> Joel >>> >>> >>> ------------------------------**------------------------------** >>> ------------------ >>> Live Security Virtual Conference >>> Exclusive live event will cover all the ways today's security and >>> threat landscape has changed and how IT managers can respond. Discussions >>> will include endpoint security, mobile security and the latest in malware >>> threats. http://www.accelacomm.com/jaw/**sfrnl04242012/114/50122263/<http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/> >>> ______________________________**_________________ >>> Jpype-users mailing list >>> Jpy...@li...urceforge.**net <Jpy...@li...> >>> https://lists.sourceforge.net/**lists/listinfo/jpype-users<https://lists.sourceforge.net/lists/listinfo/jpype-users> >>> >> |
From: Joel N. <jno...@st...> - 2012-05-22 00:03:24
|
Thanks Steve, Eventually I discovered that I'm meant to use libverify.dylib instead of libjvm.dylib (or, as it seems, libjvm_compat.dylib in OSX 10.5). However, I'm currently using a 32-bit compilation of Python, and the Apple Java distribution is 64-bit only. I don't know whether this affected its automatic use of the JVM, but this is all I get when I load it directly: >>> jpype.startJVM('/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libverify.dylib') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/jpype/_core.py", line 44, in startJVM _jpype.startup(jvm, tuple(args), True) RuntimeError: Unable to load DLL [/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libverify.dylib], error = dlopen(/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libverify.dylib, 9): no suitable image found. Did find: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libverify.dylib: mach-o, but wrong architecture at src/native/common/include/jp_platform_linux.h:45 So apparently there's a 32-bit Java 6 distribution called Soy Latte (http://landonf.bikemonkey.org/static/soylatte/), but as yet, I've not got it working: >>> import jpype >>> jpype.startJVM('/Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/libverify.dylib') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/jpype/_core.py", line 44, in startJVM _jpype.startup(jvm, tuple(args), True) RuntimeError: Unable to load DLL [/Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/libverify.dylib], error = dlopen(/Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/libverify.dylib, 9): Library not loaded: libjvm.dylib Referenced from: /Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/libverify.dylib Reason: image not found at src/native/common/include/jp_platform_linux.h:45 or >>> jpype.startJVM('/Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/client/libjvm.dylib') Error occurred during initialization of VM Unable to load native library: dlopen(/Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/libjava.dylib, 1): Library not loaded: libjvm.dylib Referenced from: /Users/joel/Downloads/soylatte16-i386-1.0.3/jre/lib/i386/libjava.dylib Reason: image not found Now that I know it's an architecture problem, at least there are a few things I know I can do, but for the moment I'm going to do any JPyping on another machine. Thanks, - Joel On Tue, 22 May 2012 08:35:59 +1000, Steve Ménard <men...@gm...> wrote: > This is not good ... and honestly, I don;t think I'll be able to help you > much with it, since I don't have access to a mac. > > I've done a quick search, I found this link which may be useful to you : > http://stackoverflow.com/questions/7118750/failed-to-locate-method-jni-getcreatedjavavms-in-the-libjvm-dylib-mac-os > > Looks like Apple changed the way theyre dynlibs are organized starting > with > 1.6. > > Hopefully this is going to hep you. Good Luck. > > Steve Menard > > ------------------------------ > Programming today is a race between software engineers striving to build > bigger and better idiot-proof programs, and the Universe trying to > produce > bigger and better idiots. So far, the Universe is winning. > Rick Cook, The Wizardry Compiled > ------ > There are two major products that come out of Berkeley: LSD and UNIX. We > don't believe this to be a coincidence. > -- Jeremy S. Anderson > > > On Mon, May 21, 2012 at 10:44 AM, Joel Nothman > <jno...@st... >> wrote: > >> >> Hi, >> >> JPype was looking like a good solution to my Python-Java interfacing >> needs, but then it refused to load some classes I needed. >> >> It turns out JPype was happily loading Java 1.5 classes, but failing for >> Java 1.6 classes with the same old "class not found" exception (which >> had >> me frustrated trying different class paths for some time). >> >> I have no problem compiling Java code importing these same classes. >> >> jpype.getDefaultJVMPath() returns >> '/System/Library/Frameworks/JavaVM.framework/JavaVM', which symlinks to >> /System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM, a binary >> provided by Apple. I assume JavaVM is meant to provide the current Java >> version, but it seems to not be doing that for JPype. >> >> It certainly seems as if everything else is set up for Java 1.6: >> >> $ which javac >> /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/javac >> >> >> I would specify a more precise JVM path, but the Apple distribution of >> Java 1.6.0 doesn't have a libjvm.dylib, only libjvmlinkage.dylib which >> does not work as a JPype JVM path. >> >> Any hints? >> >> Thanks, >> >> Joel >> >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. >> Discussions >> will include endpoint security, mobile security and the latest in >> malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Jpype-users mailing list >> Jpy...@li... >> https://lists.sourceforge.net/lists/listinfo/jpype-users |
From: Steve M. <men...@gm...> - 2012-05-21 22:36:09
|
This is not good ... and honestly, I don;t think I'll be able to help you much with it, since I don't have access to a mac. I've done a quick search, I found this link which may be useful to you : http://stackoverflow.com/questions/7118750/failed-to-locate-method-jni-getcreatedjavavms-in-the-libjvm-dylib-mac-os Looks like Apple changed the way theyre dynlibs are organized starting with 1.6. Hopefully this is going to hep you. Good Luck. Steve Menard ------------------------------ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. Rick Cook, The Wizardry Compiled ------ There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence. -- Jeremy S. Anderson On Mon, May 21, 2012 at 10:44 AM, Joel Nothman <jno...@st... > wrote: > > Hi, > > JPype was looking like a good solution to my Python-Java interfacing > needs, but then it refused to load some classes I needed. > > It turns out JPype was happily loading Java 1.5 classes, but failing for > Java 1.6 classes with the same old "class not found" exception (which had > me frustrated trying different class paths for some time). > > I have no problem compiling Java code importing these same classes. > > jpype.getDefaultJVMPath() returns > '/System/Library/Frameworks/JavaVM.framework/JavaVM', which symlinks to > /System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM, a binary > provided by Apple. I assume JavaVM is meant to provide the current Java > version, but it seems to not be doing that for JPype. > > It certainly seems as if everything else is set up for Java 1.6: > > $ which javac > /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/javac > > > I would specify a more precise JVM path, but the Apple distribution of > Java 1.6.0 doesn't have a libjvm.dylib, only libjvmlinkage.dylib which > does not work as a JPype JVM path. > > Any hints? > > Thanks, > > Joel > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Jpype-users mailing list > Jpy...@li... > https://lists.sourceforge.net/lists/listinfo/jpype-users > |
From: Joel N. <jno...@st...> - 2012-05-21 14:44:36
|
Hi, JPype was looking like a good solution to my Python-Java interfacing needs, but then it refused to load some classes I needed. It turns out JPype was happily loading Java 1.5 classes, but failing for Java 1.6 classes with the same old "class not found" exception (which had me frustrated trying different class paths for some time). I have no problem compiling Java code importing these same classes. jpype.getDefaultJVMPath() returns '/System/Library/Frameworks/JavaVM.framework/JavaVM', which symlinks to /System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM, a binary provided by Apple. I assume JavaVM is meant to provide the current Java version, but it seems to not be doing that for JPype. It certainly seems as if everything else is set up for Java 1.6: $ which javac /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/javac I would specify a more precise JVM path, but the Apple distribution of Java 1.6.0 doesn't have a libjvm.dylib, only libjvmlinkage.dylib which does not work as a JPype JVM path. Any hints? Thanks, Joel |
From: Taylor, M. <cmt...@ti...> - 2012-03-09 16:04:06
|
Hi Simon, You're right, you don't need the java.lang stuff in CLASSPATH, but I do think you would need anything else. As for running an AWT (or Swing for that matter) GUI application via JPype, I think that's highly risky and I wouldn't try it. The Java threading will likely cause issues. If you really need to do this with Python, you might consider Jython. Sorry if I'm dashing your hopes for a quick solution with JPype, but the threading in Java GUI applications makes them a very "special beast". ;-) Cheers, Martin -----Original Message----- From: Simon Doran [mailto:Sim...@ic...] Sent: Friday, March 09, 2012 9:47 AM To: Taylor, Martin Subject: RE: Problem with classes using AWT Martin, Thanks. Wow! That was a quick response. There seem to be two issues: 1. > You need to make sure that ALL your necessary .jar files are in your CLASSPATH or else you get errors like the one you saw. I am somewhat surprised, because awt is a basic part of the JVM/JDK is it not (package java.awt)? I clearly don't have to include everything, java.lang, for example. java.lang.System.out.println("hello world") works out of the box. How do I know (a) which jar files I need and (b) where to get them from the System? 2. > If you use a multi-threaded Python application there is a strong possibility that you will hit a JPype bug In my case, the Python code itself will be very simple. I don't intend to start up lots of Python threads. However, the Java does start up several threads (using SwingWorker), as this is a GUI application. Does your warning still apply? Thanks in advance for clarifying. Simon ---------------------------------------------------------------------- Dr Simon J Doran Senior Staff Scientist CRUK-EPSRC Cancer Imaging Centre Institute of Cancer Research 15 Cotswold Rd, Belmont Sutton Surrey SM2 5NG, UK Visiting Fellow Department of Physics University of Surrey Guildford, Surrey, GU2 7XH, UK +44 20 8661 3718 Tel (ICR) +44 20 8661 0846 Fax (ICR) e-mail: Sim...@ic... Personal web page: www.ph.surrey.ac.uk/~phs3sd ---------------------------------------------------------------------- ________________________________________ From: Taylor, Martin [cmt...@ti...] Sent: Friday, March 09, 2012 2:56 PM To: Simon Doran; jpy...@li... Subject: RE: Problem with classes using AWT Hi Simon, Welcome to JPype! You've found one of the common problems in starting to use JPype. You need to make sure that ALL your necessary .jar files are in your CLASSPATH or else you get errors like the one you saw. JPype is not very helpful in telling you what's missing, so you have to guess, based on your knowledge of the Java code you're trying to access from Python. In your case you probably need to include all the appropriate AWT .jar files in your CLASSPATH. Another caution for new JPype users: If you use a multi-threaded Python application there is a strong possibility that you will hit a JPype bug that can crash Python and/or the Java JVM. Such crashing is not guaranteed with a multi-threaded application but the likelihood of hitting it is increased. I've been struggling with this bug for years and have never been able to find the root cause and a fix. We suspect that it is some thread-safety issue in the 'C' level code that JPype uses. Cheers, Martin P.S. I used to live in Addlestone, Surrey, and often went to Guildford for shopping! -----Original Message----- From: Simon Doran [mailto:Sim...@ic...] Sent: Friday, March 09, 2012 8:27 AM To: jpy...@li... Subject: [Jpype-users] Problem with classes using AWT Dear All, I am very new to JPype, but thought that it would be exactly what I needed to meet my needs. BACKGROUND For some time, I have been creating a tool to integrate GUI-based access to a particular type of database. The exact details don't matter. Suffice it to say that the idea is to replace the standard "File -> Open ..." dialog with "File -> Get from database ...", so that instead of popping up a file browser, we popup a database browser. My mechanism is to create a platform-independent piece of Java code with a Swing GUI. I put the relevant .jar files in the classpath and then I should be able to call the code from any language/environment that has a "bridge" to execute Java. So far, I have demonstrated this principle using the scientific processing environments MATLAB and IDL and it works just fine. For completeness, I thought I would try to call it from Python. Browsing around, I found JPype, which (seemingly) should let me call Java from Python. I installed it without too many problems and thought I had everything sorted >>> import jpype >>> classpath = "... list of my jar files ..." >>> jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % >>> classpath) XMLU = jpype.JClass("xmlUtilities.XMLUtilities") <--- one >>> of my classes but then >>> XND = jpype.JClass("xnatDAO.DAOConstants") <--- another of my >>> classes 2012-03-09 13:29:40.407 Python[77031:60f] Apple AWT Java VM was loaded on first thread -- can't start AWT. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/jpype/_jclass.py", line 54, in JClass raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name) jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class xnatDAO.DAOConstants not found There doesn't seem to be anything offensive in the file DAOConstants.java except for import java.awt.Color; Does anyone have any ideas? Thanks in advance, Simon ---------------------------------------------------------------------- Dr Simon J Doran Senior Staff Scientist CRUK-EPSRC Cancer Imaging Centre Institute of Cancer Research 15 Cotswold Rd, Belmont Sutton Surrey SM2 5NG, UK Visiting Fellow Department of Physics University of Surrey Guildford, Surrey, GU2 7XH, UK +44 20 8661 3718 Tel (ICR) +44 20 8661 0846 Fax (ICR) e-mail: Sim...@ic... Personal web page: www.ph.surrey.ac.uk/~phs3sd ---------------------------------------------------------------------- The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP. This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer and network. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Jpype-users mailing list Jpy...@li... https://lists.sourceforge.net/lists/listinfo/jpype-users The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP. This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer and network. |
From: Taylor, M. <cmt...@ti...> - 2012-03-09 14:57:00
|
Hi Simon, Welcome to JPype! You've found one of the common problems in starting to use JPype. You need to make sure that ALL your necessary .jar files are in your CLASSPATH or else you get errors like the one you saw. JPype is not very helpful in telling you what's missing, so you have to guess, based on your knowledge of the Java code you're trying to access from Python. In your case you probably need to include all the appropriate AWT .jar files in your CLASSPATH. Another caution for new JPype users: If you use a multi-threaded Python application there is a strong possibility that you will hit a JPype bug that can crash Python and/or the Java JVM. Such crashing is not guaranteed with a multi-threaded application but the likelihood of hitting it is increased. I've been struggling with this bug for years and have never been able to find the root cause and a fix. We suspect that it is some thread-safety issue in the 'C' level code that JPype uses. Cheers, Martin P.S. I used to live in Addlestone, Surrey, and often went to Guildford for shopping! -----Original Message----- From: Simon Doran [mailto:Sim...@ic...] Sent: Friday, March 09, 2012 8:27 AM To: jpy...@li... Subject: [Jpype-users] Problem with classes using AWT Dear All, I am very new to JPype, but thought that it would be exactly what I needed to meet my needs. BACKGROUND For some time, I have been creating a tool to integrate GUI-based access to a particular type of database. The exact details don't matter. Suffice it to say that the idea is to replace the standard "File -> Open ..." dialog with "File -> Get from database ...", so that instead of popping up a file browser, we popup a database browser. My mechanism is to create a platform-independent piece of Java code with a Swing GUI. I put the relevant .jar files in the classpath and then I should be able to call the code from any language/environment that has a "bridge" to execute Java. So far, I have demonstrated this principle using the scientific processing environments MATLAB and IDL and it works just fine. For completeness, I thought I would try to call it from Python. Browsing around, I found JPype, which (seemingly) should let me call Java from Python. I installed it without too many problems and thought I had everything sorted >>> import jpype >>> classpath = "... list of my jar files ..." >>> jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % >>> classpath) XMLU = jpype.JClass("xmlUtilities.XMLUtilities") <--- one >>> of my classes but then >>> XND = jpype.JClass("xnatDAO.DAOConstants") <--- another of my >>> classes 2012-03-09 13:29:40.407 Python[77031:60f] Apple AWT Java VM was loaded on first thread -- can't start AWT. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/jpype/_jclass.py", line 54, in JClass raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name) jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class xnatDAO.DAOConstants not found There doesn't seem to be anything offensive in the file DAOConstants.java except for import java.awt.Color; Does anyone have any ideas? Thanks in advance, Simon ---------------------------------------------------------------------- Dr Simon J Doran Senior Staff Scientist CRUK-EPSRC Cancer Imaging Centre Institute of Cancer Research 15 Cotswold Rd, Belmont Sutton Surrey SM2 5NG, UK Visiting Fellow Department of Physics University of Surrey Guildford, Surrey, GU2 7XH, UK +44 20 8661 3718 Tel (ICR) +44 20 8661 0846 Fax (ICR) e-mail: Sim...@ic... Personal web page: www.ph.surrey.ac.uk/~phs3sd ---------------------------------------------------------------------- The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP. This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer and network. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Jpype-users mailing list Jpy...@li... https://lists.sourceforge.net/lists/listinfo/jpype-users |
From: Simon D. <Sim...@ic...> - 2012-03-09 14:26:49
|
Dear All, I am very new to JPype, but thought that it would be exactly what I needed to meet my needs. BACKGROUND For some time, I have been creating a tool to integrate GUI-based access to a particular type of database. The exact details don't matter. Suffice it to say that the idea is to replace the standard "File -> Open ..." dialog with "File -> Get from database ...", so that instead of popping up a file browser, we popup a database browser. My mechanism is to create a platform-independent piece of Java code with a Swing GUI. I put the relevant .jar files in the classpath and then I should be able to call the code from any language/environment that has a "bridge" to execute Java. So far, I have demonstrated this principle using the scientific processing environments MATLAB and IDL and it works just fine. For completeness, I thought I would try to call it from Python. Browsing around, I found JPype, which (seemingly) should let me call Java from Python. I installed it without too many problems and thought I had everything sorted >>> import jpype >>> classpath = "... list of my jar files ..." >>> jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % classpath) >>> XMLU = jpype.JClass("xmlUtilities.XMLUtilities") <--- one of my classes but then >>> XND = jpype.JClass("xnatDAO.DAOConstants") <--- another of my classes 2012-03-09 13:29:40.407 Python[77031:60f] Apple AWT Java VM was loaded on first thread -- can't start AWT. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/jpype/_jclass.py", line 54, in JClass raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name) jpype._jexception.ExceptionPyRaisable: java.lang.Exception: Class xnatDAO.DAOConstants not found There doesn't seem to be anything offensive in the file DAOConstants.java except for import java.awt.Color; Does anyone have any ideas? Thanks in advance, Simon ---------------------------------------------------------------------- Dr Simon J Doran Senior Staff Scientist CRUK-EPSRC Cancer Imaging Centre Institute of Cancer Research 15 Cotswold Rd, Belmont Sutton Surrey SM2 5NG, UK Visiting Fellow Department of Physics University of Surrey Guildford, Surrey, GU2 7XH, UK +44 20 8661 3718 Tel (ICR) +44 20 8661 0846 Fax (ICR) e-mail: Sim...@ic... Personal web page: www.ph.surrey.ac.uk/~phs3sd ---------------------------------------------------------------------- The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP. This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer and network. |
From: Richard G. <ri...@rd...> - 2012-01-13 07:58:30
|
Hello, I was wondering if someone can help me with a problem I have implementing a java interface in python with JProxy. The problem is that the java method I want to use requires me to pass in an array of the objects implementing the interface, not just a single object. I can't figure out how to make a suitable JArray to pass in. Any ideas? Thanks, -- Richard Graham |
From: Linos <in...@li...> - 2011-12-27 17:46:09
|
El 27/12/11 18:26, Jorge Niedbalski escribió: > Hi, > > Why you cannot setup a couple of env vars LD_LIBRARY_PATH or JAVA_HOME ? > > I think that this solves your particular purposes and not the general needs of > the Jpype library. IMHO > calling subprocess from a library is a dangerous thing. > > > greetz. > > -- > Jorge Niedbalski R. > -------------------------- Hi Jorge, of course i could setup the env vars myself but i will need to log in every machine where my software will be used to know the correct path to put in the env vars, like you can see in the _KNOWN_LOCATIONS var in Linux java can be in many different locations, we can try to get all the possible locations in this var and don't have to use the function to obtain the path from the java bin, anyway you have reason i have created this function for my particular purposes but maybe i am not the only one needed to distribute his software that uses jpype in many different Linux machines to what don't want/can log in to find the jvm path and create and env var for it. Regardless of the convenience or not to have this function that uses subprocess in the jpype distribution the patch adds too a way to work with the know locations using glob. Regards, Miguel Angel. |
From: Jorge N. <nie...@gm...> - 2011-12-27 17:26:34
|
Hi, On Tue, Dec 27, 2011 at 1:34 PM, Linos <in...@li...> wrote: > El 27/12/11 16:56, Jorge Niedbalski escribió: > > Hello Miguel: > > > > On Tue, Dec 27, 2011 at 8:04 AM, Linos <in...@li... <mailto: > in...@li...>> wrote: > > > > Hi, > > i have added this patch request > > > https://sourceforge.net/tracker/?func=detail&aid=3465996&group_id=109824&atid=655014 > > < > https://sourceforge.net/tracker/?func=detail&aid=3465996&group_id=109824&atid=655014 > > > > for a small improve in the way the libjvm.so path in linux it is > detected, if > > anyone it is using JPype in linux with many different distros > probably would be > > of help. > > > > Regards, > > Miguel Angel. > > -------------------------- > > Well about your fix i should have used the path instead of rely on the > shell > path given that i have found this paths before with the "which" function so > thanks i will use this way in local, works anyway relying on the shell > path anyway. > > About if this is good idea or not i know it is not the fastest way to find > out > libjvm.so path but in many Linux machines i have tested i have Java > installed > and neither this machines have JAVA_HOME in environment not jre in > LD_LIBRARY_PATH (i know i can fix in every machine but i want my software > to be > as autonomous as it can and have to create a .sh or change the environment > in > all the computers it have to works don't seems a good way to do it) so in > this > situations having a way to get the path directly from the java executable > in the > shell path it is better that fail. > Why you cannot setup a couple of env vars LD_LIBRARY_PATH or JAVA_HOME ? I think that this solves your particular purposes and not the general needs of the Jpype library. IMHO calling subprocess from a library is a dangerous thing. The file modified it is named _linux.py so i have not thought on FreeBSD, > anyway > if any of the programs it is not found the functions exists and the work > to find > libjvm.so path continue so i don't understand the what it is the problem, > i have > updated the patch with your fix, i have moved the function > "_getJVMFromJavaBin" as the last resort and prefixed it with "if > sys.platform.startswith("linux")", > maybe anyone can add an "elif sys.platform.startswith("freebsd")" and > write a > better way to do it in FreeBSD or better still write a platform agnostic > posix > way to do it that i don't know, in the meantime any Linux users with this > problem can use this patch. > > Regards, > Miguel Angel. > greetz. -- Jorge Niedbalski R. -------------------------- |
From: Linos <in...@li...> - 2011-12-27 16:35:07
|
El 27/12/11 16:56, Jorge Niedbalski escribió: > Hello Miguel: > > On Tue, Dec 27, 2011 at 8:04 AM, Linos <in...@li... <mailto:in...@li...>> wrote: > > Hi, > i have added this patch request > https://sourceforge.net/tracker/?func=detail&aid=3465996&group_id=109824&atid=655014 > <https://sourceforge.net/tracker/?func=detail&aid=3465996&group_id=109824&atid=655014> > for a small improve in the way the libjvm.so path in linux it is detected, if > anyone it is using JPype in linux with many different distros probably would be > of help. > > Regards, > Miguel Angel. > > > > I think that using a forced SubProcess invoking 2 (possible blocking commands) > as first step to find the library path isn't a good idea for Jpype. This is > portable to FreeBSD/Others (lsof?) ? . BTW I think that the _getJVMFromJavaHome > and _getJVMFromLibPath are enough. > > If you will continue using the JavaBin A small fix to your patch: > > + proc = subprocess.Popen("%s &>/dev/null| %s -c java 2>/dev/null" % > (java_path, lsof_path), shell=True, stdout=subprocess.PIPE) > > > Greetings, > > -- > Jorge Niedbalski R. > -------------------------- Well about your fix i should have used the path instead of rely on the shell path given that i have found this paths before with the "which" function so thanks i will use this way in local, works anyway relying on the shell path anyway. About if this is good idea or not i know it is not the fastest way to find out libjvm.so path but in many Linux machines i have tested i have Java installed and neither this machines have JAVA_HOME in environment not jre in LD_LIBRARY_PATH (i know i can fix in every machine but i want my software to be as autonomous as it can and have to create a .sh or change the environment in all the computers it have to works don't seems a good way to do it) so in this situations having a way to get the path directly from the java executable in the shell path it is better that fail. The file modified it is named _linux.py so i have not thought on FreeBSD, anyway if any of the programs it is not found the functions exists and the work to find libjvm.so path continue so i don't understand the what it is the problem, i have updated the patch with your fix, i have moved the function "_getJVMFromJavaBin" as the last resort and prefixed it with "if sys.platform.startswith("linux")", maybe anyone can add an "elif sys.platform.startswith("freebsd")" and write a better way to do it in FreeBSD or better still write a platform agnostic posix way to do it that i don't know, in the meantime any Linux users with this problem can use this patch. Regards, Miguel Angel. |
From: Jorge N. <nie...@gm...> - 2011-12-27 15:57:23
|
Hello Miguel: On Tue, Dec 27, 2011 at 8:04 AM, Linos <in...@li...> wrote: > Hi, > i have added this patch request > > https://sourceforge.net/tracker/?func=detail&aid=3465996&group_id=109824&atid=655014 > for a small improve in the way the libjvm.so path in linux it is detected, > if > anyone it is using JPype in linux with many different distros probably > would be > of help. > > Regards, > Miguel Angel. > I think that using a forced SubProcess invoking 2 (possible blocking commands) as first step to find the library path isn't a good idea for Jpype. This is portable to FreeBSD/Others (lsof?) ? . BTW I think that the _getJVMFromJavaHome and _getJVMFromLibPath are enough. If you will continue using the JavaBin A small fix to your patch: + proc = subprocess.Popen("%s &>/dev/null| %s -c java 2>/dev/null" % (java_path, lsof_path), shell=True, stdout=subprocess.PIPE) Greetings, -- Jorge Niedbalski R. -------------------------- |
From: Linos <in...@li...> - 2011-12-27 11:20:25
|
Hi, i have added this patch request https://sourceforge.net/tracker/?func=detail&aid=3465996&group_id=109824&atid=655014 for a small improve in the way the libjvm.so path in linux it is detected, if anyone it is using JPype in linux with many different distros probably would be of help. Regards, Miguel Angel. |