前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac 下如何打包 playwright 程序

Mac 下如何打包 playwright 程序

作者头像
somenzz
发布2021-12-13 15:05:18
1K0
发布2021-12-13 15:05:18
举报
文章被收录于专栏:Python七号Python七号

经常有朋友找我写个浏览器自动化工具,通常情况下我都是在 Windows 下打包,使用的方法就是 最简单的方式发布你的Python应用,然而也有朋友问我能否做一个 mac 版本,于是我就捣腾了一下,顺利完成,今天就分享下具体的做法。

使用 py2app

我首先采用了 py2app,按照官方文档的指示,我先生成了 setup.py,运行 python setup.py py2app 生成了一个 dist 目录,里面有个 Mac app,已运行就报错,什么报错提示也没有如下图:

于是我就看官方文档,文档那真是一个简陋,我没有找到 DATA_FILES 及 OPTIONS 的说明,于是就找一些 blog 或帖子,最终凑了下面的 setup.py 文件:

代码语言:javascript
复制
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'],
)

然后继续打包依然报错,无论怎么调整都没用,我甚至把浏览器放在了 Mac app 包里面的各个位置都试了下,依然不行,但是执行 python setup.py py2app -A 就可以,但是这种打包出的 app 依赖本机,无法发给别人运行,最终放弃。

使用 pyinstaller

我还是不死心,又试了下 pyinstaller,不过这次我先去 playwright 官网看了下打包的方法,发现有说明:

于是我就在自己脚本目录执行了两条命令,就直接生成了一个自带 firefox 的可执行文件:

代码语言:javascript
复制
PLAYWRIGHT_BROWSERS_PATH=0 playwright install firefox
pyinstaller -F run.py

然后把 dist 文件里面的可执行文件发给朋友,就可以使用了,大功告成!

最后的话

使用一个工具,最高效的方式还是看它的官方文档,如果官网很简陋,很滞后,那么这个工具大多不靠谱,比如 py2app,如果文档很详细,那工具也肯定不错,比如 playwright、django、pyinstaller。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python七号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 py2app
  • 使用 pyinstaller
  • 最后的话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档