You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M2 Mac环境iTerm2中执行Python Makefile提示python命令不存在

M2 Mac下iTerm2执行Python相关Makefile报错:python命令找不到

问题详情

在搭载M2芯片的Mac设备上,使用iTerm2执行Makefile的test-local目标时出现异常:

  • Makefile中test-local目标的命令:
test-local:
        TREE_SITTER_LIB_PATH=./test python -m pytest
  • 执行make test-local后返回错误:
➜ make test-local
/bin/sh: python: command not found
make: *** [test-local] Error 127
  • 当前Python路径与别名信息:
➜ which -a python
python: aliased to /usr/local/bin/python3.9

➜ python
Python 3.9.17 (main, Jun 20 2023, 17:20:08)
[Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
  • 用户已尝试修改.zshrc添加路径但无效,.zshrc内容:
alias python=python3

PYTHON="$PATH:/Users/lewis.chi/Library/Python/3.9/bin"
PYTHON1="/usr/local/bin/python3.9"
PYTHON11="/usr/local/bin/"

export PATH=$PATH:$PYTHON:\$PYTHON1:\$PYTHON11

原因分析

  1. Make默认使用/bin/sh执行命令,而非当前终端的zsh,zsh中设置的alias python=python3不会被sh识别。
  2. 用户的.zshrc中PATH设置存在错误:
    • 把$PATH写入了PYTHON变量,导致PATH重复叠加无效路径
    • 使用了转义符\$,导致变量无法正确展开

解决方法

方法1:直接修改Makefile中的Python命令

直接用python3替代python,或者使用Python的绝对路径:

# 方案A:用python3
test-local:
        TREE_SITTER_LIB_PATH=./test python3 -m pytest

# 方案B:用绝对路径
test-local:
        TREE_SITTER_LIB_PATH=./test /usr/local/bin/python3.9 -m pytest

方法2:在Makefile中配置Python路径

可以在Makefile开头定义Python变量或设置PATH:

# 方案A:设置PATH,让sh能找到python
PATH := /usr/local/bin:$(PATH)

test-local:
        TREE_SITTER_LIB_PATH=./test python -m pytest

# 方案B:直接定义PYTHON变量
PYTHON := /usr/local/bin/python3.9

test-local:
        TREE_SITTER_LIB_PATH=./test $(PYTHON) -m pytest

方法3:修复.zshrc并让Make使用zsh执行

  1. 先修正.zshrc的PATH设置:
alias python=python3
export PATH="$PATH:/Users/lewis.chi/Library/Python/3.9/bin:/usr/local/bin"
  1. 然后让Make使用zsh执行命令,二选一即可:
    • 在Makefile开头添加:
      SHELL := /bin/zsh
      
    • 执行make时临时指定SHELL:
      SHELL=/bin/zsh make test-local
      

内容的提问来源于stack exchange,提问作者Lewis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 11:27:11