Python pyinstaller_pytest.main_打包

oscarforever · 2020年06月29日 · 最后由 gx 回复于 2022年05月16日 · 2425 次阅读

问题描述:需要将用例目录 (test_case) 下的 test_case1.py,test_case2.py,test_case3.py......等文件进行打包目前只能将主入口文件 Auto_Runner_Api_Main.py 打包生成对应的 Auto_Runner_Api_Main.exe 文件
现状:打包完成的 Auto_Runner_Api_Main.exe 文件 在运行时需要依赖具体的 test_case1.py,test_case2.py,test_case3.py.....文件才能正常运行,需要将 api_interface 目录一并与生成的可执行文件放一起才能正常运行。
预期结果:能否将子目录下的 test_case1.py,test_case2.py,test_case3.py.....等多个文件也一并打包进去,生成一个可执行文件,不需要再将源 test_casexx.py 文件拷贝进去才能正常运行。
目录结构如下:

共收到 8 条回复 时间 点赞

哪位大佬出手解决下,多谢啦!

Auto_Runner_Api_Main.py 打包成 Auto_Runner_Api_Main.exe 执行文件,exe 执行就是调用其他 py 脚本。本身没有问题吧。

打包的作用是,生成的包里包含了库文件,说白了就是脚本放到其他任何电脑上都可以执行,而不需要重新安装 python 及 python 库。

所以个人觉得对 python 而已,打包的意义不大。

打包的目的不是为了隐藏源代码。

pyinstaller -D main.py 不可以吗

@ 张
Auto_Runner_Api_Main.py 打包成 Auto_Runner_Api_Main.exe 执行文件,exe 执行就是调用其他 py 脚本。本身没有问题吧。
-- 没有问题

之所以想打包成一个可执行的文件,1 是为了隐藏源代码,就像源文件中执行过程中你看不到依赖库的源码一样 2 减少不必要的测试用例文件夹和用例源码的拷贝 3.使文件简洁,节省空间

@ 云中一只猫
pyinstaller -D main.py 不可以吗
-- 可以正常打包,只是执行过程中,依赖的用例文件夹及用例源文件一并拷贝了一份才能运行,想达到一个 exe 执行文件运行的效果,能达到吗?

用 spec 配置文件,把你需要的资源文件打包进去就好了。

参考:https://www.jianshu.com/p/48f6dea265eb
用 spec,将需要的文件配置进去

大佬你没有报过 importerror while loading conftest.py 这个错误嘛,请问你是怎么打包的

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册