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

终端输入python报zsh: permission denied,是否需设别名指向python3?

问题:输入python提示权限拒绝,python3可正常使用,该如何处理?

终端输入python时返回:

zsh: permission denied: python

系统中已安装Python3(路径usr/bin),但常见教程里直接输入python即可调用Python3,为何我这里命令失效?是否需要将python设为Python3的别名?

附终端命令输出:

stephen@Stephens-MBP 3rd % python -V
zsh: permission denied: python
stephen@Stephens-MBP 3rd % python2 -V
zsh: command not found: python2
stephen@Stephens-MBP 3rd % python3 -V
Python 3.9.6
stephen@Stephens-MBP 3rd % pyenv versions
  system
* 2.7.18 (set by /Users/stephen/.pyenv/version)
  3.9.10
stephen@Stephens-MBP 3rd % python
zsh: permission denied: python
stephen@Stephens-MBP 3rd % type python
python not found

原因分析

  1. macOS 默认规则限制:从Catalina(10.15)版本开始,macOS不再预装Python2,也没有默认将python命令指向Python3,直接输入python时系统找不到对应执行文件。
  2. pyenv 配置异常:你安装了pyenv管理Python版本,当前激活的是2.7.18,但type python显示命令不存在,还弹出权限拒绝提示——大概率是pyenv的shims路径没被加到shell的PATH最前端,导致系统优先查找了其他目录中无执行权限的python文件,触发权限错误。

解决方法

方法1:修复pyenv配置(继续用pyenv管理版本)

  1. 打开zsh配置文件~/.zshrc,添加以下初始化代码:
    export PYENV_ROOT="$HOME/.pyenv"
    command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
    
  2. 执行source ~/.zshrc使配置生效,之后输入python即可调用pyenv当前激活的2.7.18版本。

方法2:给Python3设置别名(无需使用pyenv时)

直接在~/.zshrc中添加一行别名配置:

alias python="python3"

执行source ~/.zshrc生效后,输入python就会直接调用系统的Python3。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:42:25