Linux环境已安装python3.9.0执行python命令提示command not found如何解决
问题核心成因
系统安装Python3环境后,仅在全局可执行文件路径下注册了python3命令入口,不存在名称为python的可执行文件匹配项。所有依赖python命令调用的自定义脚本、第三方Python类程序,在执行时bash会遍历当前用户PATH环境变量路径搜索对应可执行文件,无匹配项时就会统一抛出bash: python: command not found报错。
可执行解决步骤
- 方案1:创建全局软链接(全系统用户生效)
- 执行
which python3获取已安装Python3的绝对路径,常规输出为/usr/bin/python3 - 执行软链创建命令:
sudo ln -s $(which python3) /usr/local/bin/python - 终端输入
python --version验证,能正常输出3.9.0版本信息即代表配置生效
- 执行
- 方案2:单用户别名配置(无sudo权限场景适用)
- 打开当前shell的用户级配置文件:bash环境编辑
~/.bashrc,zsh环境编辑~/.zshrc - 在配置文件末尾追加别名规则:
alias python=python3 - 执行
source ~/.bashrc(对应实际编辑的配置文件)让配置立即生效
- 打开当前shell的用户级配置文件:bash环境编辑
配置注意事项
- 软链创建路径必须是PATH环境变量包含的目录,不要放置在自定义非系统搜索路径下,否则依然会触发命令找不到报错
- 配置映射必须指向已验证可正常运行的
python3路径,不要强行关联系统遗留的Python2版本,避免引发依赖兼容问题 - 若使用conda、venv等虚拟环境,环境激活后会自动生成自身路径下的
python入口,不会受全局软链、用户别名的干扰,属于正常运行机制
内容的提问来源于stack exchange,提问作者Ziad Alian
相关产品推荐
相关产品推荐

