Atom script插件需手动配置语言类型、解释器路径及终端模式:右下角切换语言或快捷键Ctrl+Shift+L;在Settings中配置File Extensions和Command绝对路径;运行前按Ctrl+I或勾选Use Terminal;推荐从终端启动atom以继承完整环境变量。

Atom 的 script 插件不是“装完就能跑”,它默认只认标准后缀、只调系统 PATH 里的命令、默认不连终端——不手动配,90% 的报错都源于这三点。
怎么让 script 正确识别 .sh / deploy / build 文件
插件靠文件后缀或右下角语言标识触发运行逻辑,没后缀或后缀不标准(比如叫 deploy 而非 deploy.sh)就当纯文本处理,Ctrl+Shift+B 根本不响应。
- 临时改:按
Ctrl+Shift+L(Win/Linux)或Cmd+Shift+L(macOS),输入Bash回车,状态栏立刻变成 “Bash” - 永久绑定:进
Settings → Packages → script → Settings,在File Extensions里加sh,bash,py,js,ts(注意全小写,SH在 macOS/Linux 下无效) - 如果文件已打开但语言显示为
Plain Text,直接点状态栏语言名手动选,别等自动识别
运行 Python 报 “python: command not found” 怎么办
这不是插件坏了,是它默认执行 python 命令,而你的系统只有 python3,或 python 没进 PATH(常见于 pyenv/conda/Homebrew 安装用户)。
- 别动系统软链接,直接在
script设置里填绝对路径:/usr/bin/python3(macOS 系统自带)、/opt/homebrew/bin/python3(Apple Silicon Homebrew)、C:/Users/me/AppData/Local/Programs/Python/Python311/python.exe(Windows,反斜杠必须写成/或\) - macOS 用户若用 pyenv,路径通常是
~/.pyenv/shims/python;但注意~在 Atom 设置里不展开,得写成完整路径,如/Users/yourname/.pyenv/shims/python - 验证路径是否有效:在终端执行
which python3或type -p python,复制输出结果粘贴过去
为什么 input() / read -p 没反应,或者直接跳过
script 默认用非交互式子进程执行,stdin 被关闭,所以任何需要键盘输入的语句都会卡住或静默失败。
- 运行前按
Ctrl+I(Win/Linux)或Cmd+I(macOS),强制在 Atom 内置终端中执行,支持完整 stdin/stdout 流 - 或进
script → Settings,勾选Use Terminal(注意不是Use Script Panel),这样每次Ctrl+Shift+B都走终端 - 开启终端模式后,终端窗口复用——上一次运行的
cd位置会影响下一次,建议开头加cd "$(dirname "$0")"(Bash)或import os; os.chdir(os.path.dirname(__file__))(Python)
为什么 node index.js 在终端能跑,script 里报 Cannot find module
因为 script 默认不加载项目级环境变量(比如 NODE_PATH、PATH 中的 node_modules/.bin),也不自动 cd 到文件所在目录,导致模块解析路径出错。
- 先确认当前文件是否在项目根目录下;如果不是,
Use Terminal模式 + 手动cd是最稳方案 - Node.js 场景可考虑换用
atom-clickable-npm-scripts插件,它专为package.json中的scripts设计,自动继承 npm 环境 - Python 同理:虚拟环境激活状态不会被
script继承,必须用绝对路径指向虚拟环境里的解释器,比如/path/to/venv/bin/python
最容易被忽略的是:Atom 启动方式影响环境变量继承。从桌面图标或 Dock 启动的 Atom,往往拿不到 shell 里配置的 PATH 和 pyenv 状态;推荐始终用终端执行 atom . 启动编辑器,才能确保 script 插件看到和你敲命令时一致的环境。

















