Windows10 Git Bash环境Poetry 1.1.13安装运行报错问题求助
目标
在Windows 10系统的Git Bash环境中正常使用Poetry 1.1.13版本Python依赖管理工具,完成对应项目的依赖安装。
问题现象
- Git Bash初始安装阶段
执行安装命令curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python时,抛出RuntimeError:No python executable found in shell environment. Tried: ['python3', 'python', 'py.exe -3', 'py.exe -2'],提示Shell环境中无可用Python可执行文件。
进入Anaconda3目录复制python.exe重命名为python3.exe后再次执行安装命令,提示已安装最新版本,但在项目目录执行poetry install时返回bash: poetry: command not found,系统无法识别poetry命令。 - PowerShell安装阶段
切换至PowerShell执行新版官方安装脚本完成Poetry 1.1.13部署,手动将Poetry bin目录C:\Users\dabell\AppData\Roaming\Python\Scripts添加到系统PATH环境变量后,Git Bash中可正常执行poetry --version查询到版本号,但执行poetry install时抛出EnvCommandError,提示调用Anaconda3路径下python.exe执行获取Python环境前缀的内置脚本返回非0退出码1,同时伴随UnicodeEncodeError:'charmap' codec can't encode character '\u2502' in position 28: character maps to <undefined>;PowerShell中执行poetry install也触发相同的EnvCommandError。 - Miniconda3复测阶段
完全卸载所有Anaconda与Poetry相关程序后改用Miniconda3,在sdg虚拟环境中安装Poetry后执行poetry install,仍然抛出完全一致的EnvCommandError与编码错误,问题未得到解决。
根因说明
- Git Bash默认不会自动加载conda的Python路径到会话环境变量,直接执行安装脚本时无法定位Python解释器;手动复制python.exe重命名为python3.exe的操作会破坏conda的环境路径关联,且Poetry安装后不会自动将自身执行路径写入Git Bash的PATH配置,最终导致命令找不到。
- 编码报错的核心原因是Windows系统默认控制台代码页为GBK(CP936),Poetry 1.1.x版本输出的Unicode制表符(报错中的
\u2502为表格竖线符号)无法被GBK编码识别,直接导致Python子进程执行崩溃返回非0退出码,最终抛出EnvCommandError。该问题和使用Anaconda还是Miniconda无关,属于系统编码与Poetry输出逻辑的兼容问题。
解决步骤
- 环境清理
卸载当前已安装的Poetry,删除用户目录下残留的.poetry文件夹,移除系统PATH中之前手动添加的Poetry相关路径;如果之前手动复制过conda目录下的python.exe改名为python3.exe,直接删除该复制生成的文件,避免干扰conda环境识别。 - 配置Git Bash的Python路径
打开Git Bash执行以下命令,将conda的根目录、Scripts目录永久写入Git Bash的PATH配置(将路径替换为你本地的实际conda安装路径):
执行echo 'export PATH="/c/Users/dabell/miniconda3:/c/Users/dabell/miniconda3/Scripts:$PATH"' >> ~/.bashrc source ~/.bashrcpython --version,确认能正常返回Python版本号即可,不需要手动复制改名python可执行文件。 - 配置系统全局UTF-8编码
打开Windows设置-时间和语言-语言和区域-管理语言设置-更改系统区域设置,勾选「Beta版:使用Unicode UTF-8提供全球语言支持」,确认后重启电脑。
重启后打开Git Bash执行chcp,返回Active code page: 65001即代表UTF-8代码页生效。 - 安装指定版本Poetry
在Git Bash中执行命令安装Poetry 1.1.13:
安装完成后执行curl -sSL https://install.python-poetry.org | python - --version 1.1.13source ~/.bashrc刷新环境变量,执行poetry --version确认返回1.1.13版本即可。如果此时仍提示poetry命令找不到,将
/c/Users/dabell/.local/bin路径追加到之前写入.bashrc的PATH配置中,再次执行source刷新即可。 - 功能验证
进入项目目录执行poetry install,此时不会再触发编码错误,依赖可正常拉取安装。
内容的提问来源于stack exchange,提问作者DanielBell99
相关产品推荐
相关产品推荐

