gpt4 book ai didi

python - 如何使用 Pyinstaller 捆绑 .jar 文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:38 24 4
gpt4 key购买 nike

你怎么得到pyinstaller将 .jar 文件捆绑为使用它们的 python 项目的存档?

例如,要制作一个 exe(我正在使用 pyjnius 来处理 sikuli-standalone jar):

# 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 有:

pyinstaller -d test.py

但据我所知,该 jar 并未捆绑并且无法访问 exe 除非您手动将其放置在 Pyinstaller 生成的文件夹中

根据Pyinstaller manual :

"CArchive contains whatever you want to stuff into it. It's very much like a .zip file."

然后我尝试编辑 以前自动生成的 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

但是没有任何反应,也没有错误返回。有人可以提供一个简单的分步教程如何做到这一点吗?非常感谢!

最佳答案

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

将元组中的“sikulijar”更改为jar(您已经定义的变量)。您需要引用您在代码中使用的相同名称。

但是,我仍在尝试让 JVM 正确初始化。如果我弄明白了,我会发布。

关于python - 如何使用 Pyinstaller 捆绑 .jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24049391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com