Mac 下如何打包 Playwright 程序
經(jīng)常有朋友找我寫個(gè)瀏覽器自動(dòng)化工具,通常情況下我都是在 Windows 下打包,使用的方法就是 最簡(jiǎn)單的方式發(fā)布你的Python應(yīng)用,然而也有朋友問我能否做一個(gè) mac 版本,于是我就搗騰了一下,順利完成,今天就分享下具體的做法。
使用 py2app
我首先采用了 py2app,按照官方文檔的指示,我先生成了 setup.py,運(yùn)行 python setup.py py2app 生成了一個(gè) dist 目錄,里面有個(gè) Mac app,已運(yùn)行就報(bào)錯(cuò),什么報(bào)錯(cuò)提示也沒有如下圖:
于是我就看官方文檔,文檔那真是一個(gè)簡(jiǎn)陋,我沒有找到 DATA_FILES 及 OPTIONS 的說明,于是就找一些 blog 或帖子,最終湊了下面的 setup.py 文件:
- from setuptools import setup
- APP = ['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'],
- )
然后繼續(xù)打包依然報(bào)錯(cuò),無(wú)論怎么調(diào)整都沒用,我甚至把瀏覽器放在了 Mac app 包里面的各個(gè)位置都試了下,依然不行,但是執(zhí)行 python setup.py py2app -A 就可以,但是這種打包出的 app 依賴本機(jī),無(wú)法發(fā)給別人運(yùn)行,最終放棄。
使用 pyinstaller
我還是不死心,又試了下 pyinstaller,不過這次我先去 playwright 官網(wǎng)看了下打包的方法,發(fā)現(xiàn)有說明:
于是我就在自己腳本目錄執(zhí)行了兩條命令,就直接生成了一個(gè)自帶 firefox 的可執(zhí)行文件:
- PLAYWRIGHT_BROWSERS_PATH=0 playwright install firefox
- pyinstaller -F run.py
然后把 dist 文件里面的可執(zhí)行文件發(fā)給朋友,就可以使用了,大功告成!
最后的話
使用一個(gè)工具,最高效的方式還是看它的官方文檔,如果官網(wǎng)很簡(jiǎn)陋,很滯后,那么這個(gè)工具大多不靠譜,比如 py2app,如果文檔很詳細(xì),那工具也肯定不錯(cuò),比如 playwright、django、pyinstaller。
本文轉(zhuǎn)載自微信公眾號(hào)「Python七號(hào)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Python七號(hào)公眾號(hào)。