你怎么获得py安装程序 http://www.pyinstaller.org将 .jar 文件捆绑为使用它们的 python 项目的档案?
例如,要制作一个 exe 文件(我正在使用pyjnius http://pyjnius.readthedocs.org/en/latest/用于处理sikuli-独立罐子 https://code.google.com/p/sikuli-api/):
# 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')
Pyinstaller 创建 (一个文件夹) 执行程序:
pyinstaller -d test.py
但据我所知,该 jar 并未捆绑,并且 exe 无法访问unless你手动将其放在Pyinstaller生成的文件夹中
根据pyinstaller手册 http://www.pyinstaller.org/export/d3398dd79b68901ae1edd761f3fe0f4ff19cfb1a/project/doc/Manual.html?format=raw:
“CArchive 包含您想要塞入其中的任何内容。它非常丰富
就像 .zip 文件一样。”
然后我尝试编辑之前自动生成的 test.spec
文件:
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
但什么也没有发生,也没有错误返回。有人可以提供一个简单的分步教程如何做到这一点吗?非常感谢!