项目需求,要在java程序调用自己写的组件,python,查了很多资料,最好的方法就是把py打包成exe文件,然后java使用runtime.getruntime执行cmd exe文件,最后得到返回。
需要注意的是:java只能获取cmd返回的数据,也就是py这边print的数据。
那么具体怎么打包呢?
先下载一个pyinstaller,打包文件。
一.需要打包的文件
这次需要打包的项目为Tkinter目录下的test3目录下的所有python文件,其中main.py为主文件。
二.打包流程
1.生成主函数对应的spec文件
命令:在test3路径下使用:pyi-makespec main.py
2.修改spec文件:加入需要打包的所有python文件,同时确保以下两项包含该项目的路径
3.对spec文件进行pyinstaller安装
命令:pyinstaller main.spec
若显示如下所示则证明打包成功。
此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录main下的main.exe。
如果有依赖文件 json txt等, 放到dist的文件目录下(即和你exe放在一个目录就可以了)。不推荐打包成一个exe文件。
新问题 有的打包出来特别大,怎么办,怎么指定打包的虚拟环境呢
conda 先激活你要打包的环境,然后目录跳转到打包的目录,流程和上面一样了