JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Languages on JVM » Jython  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
話題被移動
該話題已被移動 - koji , 2006-11-07 12:12
如果您尚不清楚該話題被移動的原因,請參考論壇規則以及本版公告或者聯系本版版主。
本主題所含的標籤
無標籤
作者 [教學] 快速上手 JPython(安裝篇)
emt2a7





發文: 71
積分: 3
於 2006-11-07 11:58 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
什 麼 是 JPython
-------------------------------------------------------------------------------------------------------
1. 完全百分百使用 Java 寫成,沒有任何原始 Python 的程式碼。
2. 是架構在 Java JVM 上執行的 Python 版本。
3. 提供與 Python 相同的語言,但是不同的操作。
4. Python 是一個 script 語言,其直譯器用 C 寫成,此操作稱 Cpython。
  Jpython 使用 Java 來重新實作 Python 解析器或直譯器,所以可以讓 Python 程式在 JAVA 系統上整合。
5. Open Source。
6. 例如:可以使用 Java Class,也可以寫 Java Applet。

JPython 安裝方式
-------------------------------------------------------------------------------------------------------
如附件,圖文教學。

02_[安裝] 快速上手 JPython.doc (245.5k)


emt2a7 edited on 2006-11-07 12:03
reply to postreply to post
作者 Re:[教學] 快速上手 JPython(範例篇) [Re:emt2a7]
DigitLiao





發文: 155
積分: 0
於 2007-02-06 23:29 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {
    PythonInterpreter py = new PythonInterpreter();
    System.out.println("Hello, brave new world");
    
    String[] pyCode = {
        "import sys",
        "print sys",
        "a = 42",
        "print a",
        "x = 2+2"
    };
    
    for(String cmd : pyCode){
      py.exec(cmd);
    }
    
        PyObject x = py.get("x");
 
        System.out.println("x: "+x);
        System.out.println("Goodbye, cruel world");
}


reply to postreply to post
作者 Re:[教學] 快速上手 JPython(安裝篇) [Re:emt2a7]
DigitLiao





發文: 155
積分: 0
於 2007-02-06 23:44 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
另一種方式是用 jython.bat 來執行 python 程式碼,在測試無誤後可以使用 jythonc 來將 python 程式碼編譯成 Java 的 bytecode,跟 servlet 一樣會先轉成 test.java 再轉成 test.class,。

jythonc -C C:\DevTool\j2sdk1.4.2_12\bin\javac.exe test.py
JDK1.4 才能編譯成功
試過 1.5, 1.6 都會失敗

test.py
1
2
from java.lang import Byte
foo(Byte(10)) #使用 Java 的 java.lang.Byte 類別產生一個 Byte instance


reply to postreply to post
作者 Re:[教學] 快速上手 JPython(安裝篇) [Re:DigitLiao]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2007-02-07 01:42 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
DigitLiao wrote:
另一種方式是用 jython.bat 來執行 python 程式碼,在測試無誤後可以使用 jythonc 來將 python 程式碼編譯成 Java 的 bytecode,跟 servlet 一樣會先轉成 test.java 再轉成 test.class,。

jythonc -C C:\DevTool\j2sdk1.4.2_12\bin\javac.exe test.py
JDK1.4 才能編譯成功
試過 1.5, 1.6 都會失敗

test.py
1
2
from java.lang import Byte
foo(Byte(10)) #使用 Java 的 java.lang.Byte 類別產生一個 Byte instance



所謂的失敗是什麼?
可否附上你的編譯錯誤訊息,以及你使用的 jython 版本,執行 jython 的 JRE 版本。


reply to postreply to post

給我
辣味豆腐 其餘免談
作者 Re:[教學] 快速上手 JPython(安裝篇) [Re:Duncan]
DigitLiao





發文: 155
積分: 0
於 2007-02-07 10:43 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我在安裝的時候 JRE 是選 1.6,會不會是這個問題 ...
我剛剛試 1.5 又沒問題了 jythonc -C C:\DevTool\jdk1.5.0_08\bin\javac test.py,我昨晚到現在幾乎沒改什麼

下面是使用 1.6 的錯誤訊息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
D:\DevTool\Jython\jythonRelease_2_2alpha1>jythonc test.py
processing test
 
Required packages:
  java.lang
 
Creating adapters:
 
Creating .java files:
  test module
 
Compiling .java to .class...
Compiling with args: ['D:\\DevTool\\JRE\\jre1.6.0\\bin\\javac', '-classpath', 'D
:\\DevTool\\Jython\\jythonRelease_2_2alpha1\\jython.jar;.;C:\\DevTool\\J2ME-Poli
sh-1.2.4\\import;C:\\DevTool\\jdk1.5.0_08\\lib;C:\\DevTool\\apache-ant-1.6.5\\li
b;D:\\DevTool\\Jython\\jythonRelease_2_2alpha1\\Lib;.\\jpywork;;D:\\DevTool\\Jyt
hon\\jythonRelease_2_2alpha1\\Tools\\jythonc;D:\\DevTool\\Jython\\jythonRelease_
2_2alpha1\\.;D:\\DevTool\\Jython\\jythonRelease_2_2alpha1\\Lib;D:\\DevTool\\Jyth
on\\jythonRelease_2_2alpha1', '.\\jpywork\\test.java']
1  java.io.IOException: Cannot run program "D:\DevTool\JRE\jre1.6.0\bin\javac":
CreateProcess error=2, ?t?Χ??????
 
Consider using the -C/--compiler command line switch, or setting
the property python.jythonc.compiler in the registry.
ERROR DURING JAVA COMPILATION... EXITING
 
D:\DevTool\Jython\jythonRelease_2_2alpha1>


DigitLiao edited on 2007-02-07 10:48
reply to postreply to post
作者 Re:[教學] 快速上手 JPython(安裝篇) [Re:DigitLiao]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2007-02-07 13:46 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
DigitLiao wrote:
我在安裝的時候 JRE 是選 1.6,會不會是這個問題 ...
我剛剛試 1.5 又沒問題了 jythonc -C C:\DevTool\jdk1.5.0_08\bin\javac test.py,我昨晚到現在幾乎沒改什麼

下面是使用 1.6 的錯誤訊息

D:\DevTool\Jython\jythonRelease_2_2alpha1>jythonc test.py
processing test

Required packages:
java.lang

Creating adapters:

Creating .java files:
test module

Compiling .java to .class...
Compiling with args: ['D:\\DevTool\\JRE\\jre1.6.0\\bin\\javac', '-classpath', 'D
:\\DevTool\\Jython\\jythonRelease_2_2alpha1\\jython.jar;.;C:\\DevTool\\J2ME-Poli
sh-1.2.4\\import;C:\\DevTool\\jdk1.5.0_08\\lib;C:\\DevTool\\apache-ant-1.6.5\\li
b;D:\\DevTool\\Jython\\jythonRelease_2_2alpha1\\Lib;.\\jpywork;;D:\\DevTool\\Jyt
hon\\jythonRelease_2_2alpha1\\Tools\\jythonc;D:\\DevTool\\Jython\\jythonRelease_
2_2alpha1\\.;D:\\DevTool\\Jython\\jythonRelease_2_2alpha1\\Lib;D:\\DevTool\\Jyth
on\\jythonRelease_2_2alpha1', '.\\jpywork\\test.java']
1 java.io.IOException: Cannot run program "D:\DevTool\JRE\jre1.6.0\bin\javac":
CreateProcess error=2, ?t?Χ??????

Consider using the -C/--compiler command line switch, or setting
the property python.jythonc.compiler in the registry.
ERROR DURING JAVA COMPILATION... EXITING

D:\DevTool\Jython\jythonRelease_2_2alpha1>



你要使用 -C/--compiler 或是修改 registry 檔案指定正確的 javac.exe。從上面的訊息來看,你並沒有指定正確的 javac.exe。(JRE 沒有含 javac.exe, JDK 才有)


reply to postreply to post

給我
辣味豆腐 其餘免談
作者 Re:[教學] 快速上手 JPython(安裝篇) [Re:Duncan]
DigitLiao





發文: 155
積分: 0
於 2007-02-07 14:45 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
jythonc -C D:\DevTool\JDK\jdk1.6.0\bin\javac.exe test.py

的確可以編譯成功,感謝 Duncan


reply to postreply to post
作者 Re:[教學] 快速上手 JPython(安裝篇) [Re:emt2a7]
jmaxjovi





發文: 28
積分: 0
於 2012-09-23 05:59 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
謝謝 ~

對新手很有幫助 Smile

想為python找Gui
Big Smile


reply to postreply to post
會寫 不等於 搞的清楚
搞的清楚 不等於 會教
會教 不等於 會寫
» JWorld@TW »  Languages on JVM » Jython

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8