Pyinstaller打包包含jar文件
从pdf提取表格数据的时候用到了tabula库,而python的tabula库是对tabula-java的封装,使用这个库的时候依赖了一个jar文件。使用Pyinstaller打包的时候需要把这个jar文件也打包进去,不然会报
Command '['java', '-Dfile.encoding=UTF8', '-jar', 'C:\Users\vijv2c13136\AppData\Local\Continuum\anaconda2\lib\site-packages\tabula\tabula-1.0.2-jar-with-dependencies.jar', '--pages', 'all', '--guess', '--format', 'JSON', 'resumes\AbhinavReddy.pdf']' returned non-zero exit status 2
的错误
根据Pyinstaller文档:Adding Data Files
只需要在打包的时候添加参数--add-data,指定所需jar文件路径就可以
pyinstaller -F myFile.py --add-data '.path\tabula-1.0.5-jar-with-dependencies.jar;tabula'
注意中间的分隔符dependencies.jar;tabula,windows平台用‘;’,Linux平台用‘:’
如果Pyinstaller打包的时候没有参数-F,则只需要在最后打包出来的文件夹内添加文件夹tabula,并且将tabula-1.0.5-jar-with-dependencies.jar放入文件夹即可