Win10 Git Bash执行sudo/apt报command not found 无法使用Poetry
问题根因
你当前执行命令的终端是Windows原生Git Bash(MINGW64模拟环境),并未进入WSL2 Linux子系统环境,因此sudo、su、apt这类Linux专属命令会直接报找不到。此前执行pip install bash安装的是Python生态下的同名无关包,对修复环境问题无任何作用。
额外注意:你当前~/.bashrc中加载的是Windows系统C盘下安装的Anaconda,WSL2是独立的Linux运行环境,无法直接兼容调用Windows盘符下安装的Anaconda程序,二者环境完全隔离。
解决步骤
根据你的使用需求二选一操作即可:
方案1:在WSL2环境中使用Poetry
- 打开正确的WSL2终端:可以直接从开始菜单点击已安装的WSL发行版(如Ubuntu)图标进入,也可以在PowerShell/Windows Terminal中输入
wsl回车进入,进入后终端提示符不会出现MINGW64字样,此时验证sudo、apt命令可正常运行。 - 在WSL2中执行以下命令安装依赖与Poetry:
# 安装Python3、pip等基础依赖 sudo apt update && sudo apt install python3 python3-pip -y # 安装Poetry pip3 install poetry # 验证安装成功,正常输出版本号即完成 poetry --version- 如果需要在WSL2中使用conda,单独下载安装Linux版本的Anaconda/Miniconda即可,不要直接加载Windows盘符下的Anaconda路径。
- 打开正确的WSL2终端:可以直接从开始菜单点击已安装的WSL发行版(如Ubuntu)图标进入,也可以在PowerShell/Windows Terminal中输入
方案2:直接在Windows Git Bash环境中使用Poetry
不需要折腾sudo、apt这类Linux命令,直接在当前Git Bash窗口中,调用已安装的Windows版Anaconda的pip执行安装命令:pip install poetry安装完成后执行
poetry --version能正常返回版本号,即可正常使用。
排查校验规则
- 终端提示符带
MINGW64标识时,当前为Windows Git Bash环境,仅能运行Windows兼容命令,找不到Linux命令属于正常现象 - 终端提示符无
MINGW64标识、显示WSL发行版对应的用户名与主机名时,才是正确进入WSL2 Linux环境 - Windows环境与WSL2 Linux环境的软件、命令、依赖完全独立,不能跨环境直接调用,不要混用两个环境的安装路径
内容的提问来源于stack exchange,提问作者DanielBell99
相关产品推荐
相关产品推荐

