2014-06-04 4 views
2

pyinstaller .jar 파일을 활용하는 파이썬 프로젝트의 아카이브로 번들링하려면 어떻게해야합니까?Pyinstaller로 .jar 파일 번들을 만드는 방법

pyinstaller -d test.py

:

# test.py 
import os 
import sys 

# set the classpath so java can find the code I want to work with 
sikuli_jar = '/sikuli-api.standalone-1.0.3-Pre-1.jar' 
jarpath = os.path.dirname(os.path.realpath(__file__)) + sikuli_jar 
os.environ['CLASSPATH'] = jarpath 

# now load a java class 
from jnius import autoclass 
API = autoclass('org.sikuli.api.API') 

Pyisntaller가와 (하나의 폴더) EXE를 만듭니다

는 예를 들어, (나는 sikuli-standalone jar을 처리 pyjnius을 사용하고 있습니다)와 EXE 파일로 만들려면

하지만 내 지식의 항아리는 번들로 제공되지 않으며 이 아닌 경우 exe에 액세스 할 수 없습니다. anually Pyinstaller manual에 따르면 pyInstaller 중에

에 의해 생성 된 폴더에 넣습니다 :

는 "CArchive 당신이 그것으로 물건을 원하는대로 들어 있습니다. . 그것은

나는 다음과 이전에 자동 생성test.spec 파일을 편집하려고 ".zip 파일과 같은 매우이다 :

jar = 'sikuli-api.standalone-1.0.3-Pre-1.jar' 
jar_path = 'C:\\Python27\\Lib\\site-packages\\sikuli-0.1-py2.7.egg\\sikuli\\' + jar 
coll = COLLECT(exe, 
       a.binaries, 
       a.zipfiles, 
       a.datas, 
       [('sikulijar', jar_path, 'PKG')], 
       strip=None, 
       upx=True, 
       name='test') 

그리고이 사양 파일을 기반으로 EXE 파일을 구축 시도 로 :

python C:\workspace\code\PyInstaller-2.1\PyInstaller\build.py --onefile test.spec 

그러나 아무 일도 발생하지 않습니다 및 오류 반환 사람이 돈이 될 수있는 방법 단계 튜토리얼에 의해 간단한 단계를 제공 할 수 있습니다. 이자형? 많은 감사합니다! 튜플의

답변

0
coll = COLLECT(exe, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      [('sikulijar', jar_path, 'PKG')], 
      strip=None, 
      upx=True, 
      name='test') 

변화 'sikulijar'단지 항아리 (이미 정의 된 변수). 코드에서 사용한 것과 같은 이름을 참조해야합니다.

그러나 아직 JVM을 제대로 초기화하려고합니다. 나가 그것을 파악하는 경우에 나는 그것을 배치 할 것이다.