有朋友经常找我写一个浏览器自动化工具。一般我都是在windows下打包的。我使用的方法是发布Python应用程序的最简单方法。不过有小伙伴问能不能做个mac版,于是就瞎折腾一下,顺利搞定。今天分享一下具体的方法。要使用py2app,我首先使用py2app。按照官方文档的说明,老公创建了setup.py,运行pythonsetup.pypy2app生成了一个dist目录。里面有一个Mac应用程序。运行后会报错,不会有报错信息。如下图:于是看了下官方文档,文档真的很简陋,没有找到DATA_FILES和OPTIONS的说明,于是找了一些博客或者帖子,最后拼凑成下面的setup.py文件:fromsetuptoolsimportsetupAPP=['run.py']DATA_FILES=['config.py','main.py','utils.py',]OPTIONS={#'argv_emulation':True,#'semi_standalone':'False',#'packages':['playwright']}setup(app=APP,data_files=DATA_FILES,options={'py2app':OPTIONS},setup_requires=['py2app'],)然后继续打包,还是报错错误。怎么调整也没用。我什至浏览我把设备放在Macapp包中的各个位置试过了,还是不行,但是我可以执行pythonsetup.pypy2app-A,但是这种打包的app依赖于机器和不能发给别人跑,所以最后放弃了。还是没有放弃使用pyinstaller,又尝试了pyinstaller,不过这次去playwright官网看打包方式,发现里面有解释:SoIexecutedtwocommandsinmyscript目录,直接生成一个firefox自带的可执行文件:PLAYWRIGHT_BROWSERS_PATH=0playwrightinstallfirefoxpyinstaller-Frun.py然后将dist文件中的可执行文件发给你的朋友,就可以使用了。你完成了!最后,使用一个工具最高效的方法就是看它的官网Documentation,如果官网非常简单滞后,那么这个工具多半是不靠谱的,比如py2app,如果文档很详细,那么这个工具一定要好的,比如playwright,django,pyinstaller。本文转载自微信公众号“Python7号”,可通过以下二维码关注。转载本文请联系Python七号公众号。
