[英]jar or exe file from Sikuli python script
我剛剛開始用Python用Sikuli做一些腳本。
我想知道是否有可能(如果是,如何)從我的python腳本(文件.py和images)創建jar或exe文件。
我想從沒有安裝sikuli的其他計算機上輕松運行我的程序(例如java -jar my_script.jar
或my_script.exe
)或將該實用程序提供給某些同事,但我不希望他們看到源代碼碼。
有多種方法可以將.py轉換為.exe和exetra
雖然我相信可以更改擴展名,但如果您使用python擴展名,則過程會更加輕松,順暢,例如Py2exe可以通過簡單的Google搜索找到下載的文件(我也提供了指向它們的鏈接網站)。 該程序將允許您將程序轉換為.exe,並且無需安裝python就可以運行。
這是一個信譽良好的選擇列表: http : //www.freehackers.org/Packaging_a_python_program
我個人會推薦Py2exe( http://www.py2exe.org/ ),有關Py2exe的教程可以在此處找到( http://www.py2exe.org/index.cgi/Tutorial )
使用jar文件,就像Sikuli用Java編寫並使用Jython一樣 。 您需要做三件事才能使它起作用。
首先獲取sikuli-java.jar
文件( 此處是分步說明 ),您可以通過下載sikuli-setup.jar
來獲取,然后使用選項4(僅Java)和6(與所有OS兼容)運行它。 這應該下載sikuli-java.jar
文件。
您可以使用Jython編譯Python( 此處有完整說明 ):
$JYTHON_HOME/jython $JYTHON_HOME/Lib/compileall.py python_src/
其中python_src
是包含所有.py
文件的目錄。
然后,您可以使用包裝程序類從Java調用這些編譯文件(看起來像myFile$py.class
)(有關示例,請參見完整說明)。 該包裝器調用了一個Python方法,因此您可以將該方法作為開始其他程序的主要Python方法。
編譯包裝器類:
javac -cp $JYTHON_HOME/jython.jar TestJ.java
然后jar
所有.class
文件 :
jar cvfe myapp.jar <packageName>.TestJ *.class
其中, <packageName>
是包裝器TestJ.java
類的軟件包。
您還需要將Jython添加到此jar中。 只需按照下面“ jar中的Python .py文件”部分的前幾個步驟進行操作,或下載獨立的Jython jar,並在下面的“合並jars”部分sikuli-java.jar
其包含為sikuli-java.jar
。
現在,您必須為腳本本身創建jar。 完整說明在這里 ,但是如果您想摘要:
以安裝Jython時獲得的
jython.jar
文件並將Jython Lib目錄壓縮到其中,然后壓縮.py文件,然后添加具有啟動邏輯的__run__.py
文件(Jython對該文件進行了特殊處理)並且將是您使用java -jar
調用jar時執行的文件。
如果願意,還可以從python.org獲得更通用的指南 。
注意:
上面的完整說明假定您具有zip
程序。 如果不這樣做,則可以使用jar uvf jythonlib.jar Lib
代替zip -r jythonlib.jar Lib
(在使用zip
任何地方都可以執行類似操作)。 看到這里更多
您可以使用jar
來簡單地將sikuli-java.jar
添加到包含腳本的jar
如上面的注釋所述 。 如果願意,還可以組合兩個jar文件 (也可以使用jar
)。
無論哪種方式,這都應該為您提供一個jar文件,該文件可以在具有兼容JVM的任何系統上運行Sikuli程序。 使用運行它
java -jar myapp.jar
恭喜,您完成了!
如果您需要處理命令行參數,或者通常需要更多詳細信息,請參見堆棧溢出指南或完整的Python指南 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.