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

终端可运行Python但Bash脚本提示python命令不存在的解决方法

解决Bash脚本中python命令未找到的问题

问题原因

你在~/.bashrc里设置的alias python=python3只对交互式shell生效(比如手动打开的终端窗口),而Bash脚本运行时属于非交互式非登录shell,默认不会加载~/.bashrc里的别名配置,也不会继承终端里的别名,所以脚本里识别不了python命令。

解决方法

  • 方法一:直接在脚本中使用python3(最稳妥)
    把start.sh里的命令改成:

    #!/bin/bash
    
    python3 hello-world.py
    

    这种方式不依赖任何别名配置,兼容性最好,能避免后续环境变动带来的问题。

  • 方法二:让脚本加载~/.bashrc的别名
    如果坚持要用python别名,可以在脚本开头添加source ~/.bashrc来加载配置:

    #!/bin/bash
    
    source ~/.bashrc
    python hello-world.py
    

    注意:默认Ubuntu的~/.bashrc开头有# If not running interactively, don't do anything的判断逻辑,会阻止非交互式shell加载后续配置。需要你打开~/.bashrc,注释掉这段判断(或者把别名放在这段判断之前),才能让脚本成功加载别名。

  • 方法三:系统级设置python指向python3
    通过update-alternatives命令建立系统级的软链接,让python命令全局指向python3,这样终端和脚本都能直接用python:

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
    

    设置完成后,不管是终端手动执行还是脚本运行,python命令都会自动调用python3。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:23:18