java - 将脚本转换为 exe 时无法执行我的脚本
问题描述
我创建了一个脚本来使用 tabula-py 和 PyPDF2 从 pdf 中提取数据。当我通过 Jupyter-notebook 和 cmd 运行我的程序时,它运行良好。使用 pyinstaller 将其转换为可执行文件后,出现此错误:
Error: Unable to access jarfile
E:\Users\paulhong\AppData\Local\Temp\_MEI175522\tabula\tabula-1.0.2-jar-with-dependencies.jar
Error:
Traceback (most recent call last):
File "test.py", line 115, in <module>
File "test.py", line 32, in extractDataDik
tempDf = tabula.read_pdf(file, area = (72, 252, 115.2, 352.8), guess=False, pages='1')
File "site-packages\tabula\wrapper.py", line 108, in read_pdf
File "subprocess.py", line 395, in check_output
File "subprocess.py", line 487, in run
subprocess.CalledProcessError: Command '['java', '-Dfile.encoding=UTF8', '-jar',
'E:\\Users\\paulhong\\AppData\\Local\\Temp\\_MEI175522\\tabula\\tabula-1.0.2-jar-with-dependencies.jar', '--pages', '1', '--area',
'72,252,115.2,352.8', 'E:\\Users\\paulhong\\Desktop\\Purchase Order
2\\SKM_C45819060508450 (003).pdf']' returned non-zero exit status 1. [47140] Failed to execute script test
我也找不到指定路径上的文件夹 _MEI175522。
我的python版本是3.7.1 Java版本是1.8 pyinstaller版本是3.4 Tabula-py是最新版本
我该如何解决这个问题?
解决方案
我有一个类似的问题,我能够使用此链接上的解决方案来解决它:无法访问 jarfile 'tabula-1.0.2-jar-with-dependencies.jar'
我在虚拟环境中构建了我的应用程序,因此我在我的文件tabula
夹中添加了一个包含该tabula-1.0.2-jar-with-dependencies.jar
文件的文件site-packages
夹。运行该命令pyinstaller --add-data apps\Lib\site-packages\tabula\tabula-1.0.2-jar-with-dependencies.jar;tabula --onefile Table_OCR.py
可以为我正确构建可执行文件。
推荐阅读
- php - 当用户使用 Twilio 通过 SMS 回复 STOP 时,如何使用用户号码进行回调?
- c# - 使用 HttpWebRequest 获取和发布以登录网站 C# .Net
- .net - dotnet new 在我的 Mac 上没有产生任何输出
- assembly - 比较汇编中的两个字符串
- python - 在 python 中以 1D 插入 3D 蒙版数组
- python - 是否可以通过 gstrtspserver 流式传输现有的 gstreamer 管道
- python - 复制具有相同功能的精灵
- google-maps - 用于“分组”折线和标记的 Google 地图事件侦听器
- jquery - 如果 HTML 文件通过 file:///foo.html 加载,CORS 标头?
- javascript - 在 JavaScript 模板引擎中使用 markdown