Platypus:把 Shell 和 Python 脚本打包成能双击启动的 macOS 应用

发布时间:2026/8/27 17:08:14

Platypus:把 Shell 和 Python 脚本打包成能双击启动的 macOS 应用
Platypus把 Shell 和 Python 脚本打包成能双击启动的 macOS 应用【免费下载链接】PlatypusCreate native macOS applications from command line scripts.项目地址: https://gitcode.com/gh_mirrors/pl/Platypus每次写完脚本最后一步往往最闹心想递给同事他不会往终端里敲命令自己又懒得学 GUI 开发。Platypus 解决的就是这一步——把 shell 脚本或 Python、Perl、Ruby 脚本包装成一个可双击启动的 macOS .app 应用全程不写一行 GUI 代码。脚本和应用之间隔着一整套应用包结构传统做法是把脚本变成正规 Mac 应用先搞懂应用包bundle的目录结构手写 Info.plist再处理可执行文件和窗口折腾下来一两天就没了而你的脚本可能只有一屏。Platypus 把这条路径压缩成一次包装操作。它 2003 年首次发布维护了二十多年用 Objective-C/Cocoa 编写以 BSD 3-Clause 协议开源。你不需要读 Objective-C也不需要理解 Cocoa生成的应用却能像其他任何 Mac 应用一样从 Finder 或 Dock 启动。Platypus 的工作机制给脚本套一层 .app 壳原理并不神秘。macOS 的 .app 本质上就是一个有固定结构的文件夹双击启动时执行的其实是 Contents/MacOS 里的二进制。Platypus 生成的正是这样一个 bundle只不过里面的二进制是一个通用的瘦可执行文件它读取 AppSettings.plist 里的配置运行你的脚本再把输出送到你选定的界面上。脚本和随附文件统一放进 Contents/Resources 目录。所以生成的应用体积小、启动快——它只携带脚本本身和少量界面资源。这个通用二进制的源码在仓库的 ScriptExec/SEController.m 里通读一遍就能理解生成应用的完整运行过程。用 Platypus 三步生成第一个应用不用编译也能用官方发布版约 3.5 MB支持 macOS 11 及以上、Apple Silicon 和 Intel 两种架构。如果习惯自己构建一条命令即可需要 Xcode 构建工具git clone https://gitcode.com/gh_mirrors/pl/Platypus cd Platypus make build_unsigned产物会出现在products目录中。界面操作只有三步打开 Platypus点Select选脚本也可以直接把脚本文件拖进窗口。打开脚本后它会根据文件后缀和 shebang 行自动识别解释器。输入应用名称选择界面类型按需更换图标、填写标识符和作者信息。点Create指定目标位置一个 .app 就生成了。Platypus 主界面选好脚本、设置名称与界面后右侧 Create 即可生成应用六种界面给脚本配一张合适的脸 ✨同一个脚本配哪种脸比想象中重要。Platypus 提供 6 种界面类型各自对应一类典型用法None完全无窗口纯后台跑脚本输出重定向到 stderr适合登录项、定时任务。Progress Bar执行时显示进度条窗口脚本可以实时更新百分比适合耗时任务。Text Window把脚本输出逐行显示在窗口里适合日志、报告类脚本。注意它不是可交互终端。Web View输出按 HTML 渲染。页面基准目录就是应用的 Resources把图片和样式文件加进 Bundled Files 后可以用相对路径引用。Status Menu在菜单栏放一个图标每次点击都会运行脚本输出行变成菜单项选中某一项后脚本再跑一次并收到该项的标题作为参数。Droplet一个提示拖放的窗口文件丢上来后逐个交给脚本处理。Web View 界面脚本输出的 HTML 直接在 WebView 窗口中渲染让脚本驱动界面拖文件进来、进度走出去应用跑起来后还有两个问题输入怎么进进度怎么出。Platypus 的方案是命令行参数加脚本打印的约定行。输入方向勾选Accept dropped items后应用就能接收拖放到窗口或 Dock 图标上的文件与文本——文件路径作为参数传给脚本文本片段写入 stdin。Drop Settings里可以按文件后缀或 UTI 限定接受的类型文件夹就加public.folder。还可以把应用注册成 URI scheme 处理器或系统服务。Args 面板给解释器和脚本分别指定参数例如 bash 加 -l 以登录 shell 方式运行输出方向脚本只要打印几行约定文本。PROGRESS:75更新进度条ALERT:标题|内容弹警告框NOTIFICATION:标题|内容推送通知中心REFRESH清空输出缓冲QUITAPP结束应用。随附资源加进Bundled Files列表即可它们会被复制进 Resources脚本从工作目录直接就能取到。Drop Settings按 UTI 或后缀限定应用接受的拖放类型一行终端命令Platypus 命令行工具想把应用生成放进构建流水线就不必点界面。Platypus 附带同名命令行工具在Settings里一键安装二进制装到/usr/local/bin/platypus装完后它完全独立于图形界面运行。生成一个应用只需一行platypus -a 图片压缩器 -o Droplet -i icon.icns resize.py更省事的是图形界面里的Show Shell Command会把当前设置翻译成等价的命令行直接复制进脚本。你也可以把整套设置存成 .platypus 配置文件用-P参数加载后批量生成。命令行工具安装位置二进制、ScriptExec、nib 与 man 页都放在 /usr/local 下适用边界Platypus 做不了什么官方把边界写得很清楚它不是 GUI 开发环境也不能用来做复杂交互的应用。要做后者还是得学原生 APIPlatypus 只负责把脚本到可双击应用这一小段路走快。几个常被问到的问题直接说生成的应用能拿到别的 Mac 上用吗可以应用本身只是个 bundle。但脚本在目标机器上必须有对应解释器Python、Perl、Ruby、shell 这些预置语言在 macOS 上通常都自带。脚本里能弹输入框问用户要信息吗不能直接问。文本窗口不是可交互终端stdin 是断开的sudo或 Python 的input()会直接挂住。要提问就借osascript弹 AppleScript 对话框或者让用户通过拖放传参。首次运行被 GateKeeper 拦住了生成的应用默认不签名macOS 会提示确认。可以右键选择打开信任它正式分发前用codesign自己签一遍。需要 Xcode 才能用吗不需要。Xcode 构建工具只在从源码编译或者你想压缩 nib 文件时才用到。下一步与延伸资源 想继续深入按顺序做三件事从 Profiles 菜单的Examples子菜单打开示例。仓库 Examples/ 目录里有 18 个 .platypus 配置涵盖拖放图片缩放、状态栏菜单、URI scheme 处理器等场景逐个拆开看最直观。通读 Documentation/Documentation.md六种界面的全部行为、约定行语法和常见问题都在里面。准备自动化时先装命令行工具再对照 CLT/platypus_clt.m 的源码把图形界面里的每一步设置变成可重复执行的命令。【免费下载链接】PlatypusCreate native macOS applications from command line scripts.项目地址: https://gitcode.com/gh_mirrors/pl/Platypus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

如何为社区搭建FAQ聊天机器人:toolkitten的DialogFlow实现原理拆解

如何为社区搭建FAQ聊天机器人:toolkitten的DialogFlow实现原理拆解

2026/8/27 17:08:14

如何为社区搭建FAQ聊天机器人:toolkitten的DialogFlow实现原理拆解 【免费下载链接】toolkitten A toolkit for #1millionwomentotech community. 项目地址: https://gitcode.com/gh_mirrors/to/toolkitten 想给你的社区搭一个自动答疑的 FAQ 聊天机器人 吗&…

LilyPond 表情记号与编辑标记实战:力度、速度、演奏法、指法一次学会

LilyPond 表情记号与编辑标记实战:力度、速度、演奏法、指法一次学会

2026/8/27 17:08:14

LilyPond 表情记号与编辑标记实战:力度、速度、演奏法、指法一次学会 【免费下载链接】lilypond This is just a mirror of GNU LilyPond repository. If youd like to contribute to LilyPond, please look at http://www.lilypond.org/development.html 项目地址…

如何用猫抓浏览器资源嗅探扩展快速抓全网页里的视频

如何用猫抓浏览器资源嗅探扩展快速抓全网页里的视频

2026/8/27 17:08:14

如何用猫抓浏览器资源嗅探扩展快速抓全网页里的视频 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(cat-catch)是一款…

优化 | 5分钟读懂LLM:DeepSeek、ChatGPT背后的核心技术,零基础小白收藏这一篇就够了!!

优化 | 5分钟读懂LLM:DeepSeek、ChatGPT背后的核心技术,零基础小白收藏这一篇就够了!!

2026/8/27 17:58:16

前言 LLM(Large Language Model)是大型语言模型的简称,像DeepSeek、ChatGPT等都属于不同公司开发的LLM。你可以把它想象成一个超级聪明的聊天机器人和写作助手,它通过学习了海量文字资料,变得非常擅长理解和生成人类语…

基于SpringBoot的膳食搭配营养学知识智能问答小程序的实现毕业设计项目源码

基于SpringBoot的膳食搭配营养学知识智能问答小程序的实现毕业设计项目源码

2026/8/27 17:58:16

联系博主 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 …

这样图解Transformer应该没人看不懂了吧——Transformer工作原理

这样图解Transformer应该没人看不懂了吧——Transformer工作原理

2026/8/27 17:58:16

前言 本文将深入剖析Transformer的内部工作原理,详细研究其运作细节。 我们将通过实际的矩阵表示和形状,观察数据如何在系统中流动,并理解每个阶段进行的计算。 本文目标不仅是理解Transformer是如何工作的,更要探究它为何如此…

本地部署DeepSeek R1 + Ollama + XRAG:三步搭建RAG系统,并解锁全流自动化评测

本地部署DeepSeek R1 + Ollama + XRAG:三步搭建RAG系统,并解锁全流自动化评测

2026/8/27 17:58:16

引言 如何科学的评估RAG系统,对于RAG系统的性能优化至关重要。为此,本文提供了一个详细操作指南,帮助用户使用Ollama本地部署最新的DeepSeek R1模型,并使用最新的XRAG1.0框架来构建RAG系统并评估你的本地RAG知识库系统。 这一过程…

RustDesk部署到linux(自建服务器)

RustDesk部署到linux(自建服务器)

2026/8/27 17:58:16

简介 ‌RustDesk‌是一款开源的远程桌面软件,由中国开发者开发,使用Rust编程语言构建。它支持跨平台运行,可以在Windows、macOS、Linux、iOS、Android和Web等多个平台上使用。RustDesk的主要功能包括远程桌面访问、文件传输、文本聊天等&…

程序员必藏:LLM无法逾越的五大理论天花板,为何“大力出奇迹“已到尽头?

程序员必藏:LLM无法逾越的五大理论天花板,为何“大力出奇迹“已到尽头?

2026/8/27 17:48:16

前言 “大力出奇迹”——这似乎已成为AI领域的黄金法则。从GPT-1的1.17亿参数到GPT-4的万亿级别,模型规模的指数级增长带来了惊人的能力涌现。我们似乎相信,只要数据够多、参数够大,一切问题都能被“暴力”解决。 然而,一篇由谷…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

2026/8/27 0:07:12

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

LeetCode Hot100(51-60)算法精解与面试技巧

LeetCode Hot100(51-60)算法精解与面试技巧

2026/8/27 0:07:12

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

CRC校验实战:从模2除法到HJ212协议排错

CRC校验实战:从模2除法到HJ212协议排错

2026/8/27 0:07:12

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…