Windows10 Git Bash下make setup配合poetry创建虚拟环境报错如何解决
解决方案
你遇到的报错分为两类,可按以下步骤依次排查解决:
1. 处理CalledProcessError(git退出码128)
该报错是poetry拉取私有git依赖py_client.git时git执行失败导致,可按以下方法修复:
- 先验证SSH访问权限:在Git Bash中执行
ssh git@git.bcb.local -p 7999,如果返回认证失败,说明SSH密钥未配置到位。你可以将SourceTree使用的SSH私钥添加到ssh-agent中,执行命令:ssh-add 你的私钥文件路径(默认私钥路径为~/.ssh/id_rsa),再将公钥添加到Bitbucket账户的SSH密钥列表中。 - 关闭Git Bash路径自动转换:Windows环境下Git Bash默认会转换Linux格式路径导致git调用异常,执行命令
export MSYS_NO_PATHCONV=1后再运行make setup。 - 检查依赖配置:确认
pyproject.toml中py_client的git地址、分支/标签配置无拼写错误。
2. 处理UnicodeEncodeError编码报错
该报错是Windows终端默认编码为cp1251,无法识别poetry输出的特殊字符导致,可按以下方法修复:
- 执行命令前设置Python输出编码为UTF-8:在Git Bash中执行
export PYTHONIOENCODING=utf-8。 - 切换终端编码为UTF-8:执行命令
chcp 65001后再运行make setup。 - 升级poetry到最新版本:新版poetry已经修复了Windows下编码适配问题,执行命令
poetry self update即可升级。
永久生效配置
如果需要避免每次打开Git Bash都重复执行配置,可以将以下两行内容添加到~/.bashrc文件中:
export MSYS_NO_PATHCONV=1 export PYTHONIOENCODING=utf-8
保存后执行 source ~/.bashrc 即可永久生效。
内容的提问来源于stack exchange,提问作者Taky
相关产品推荐
相关产品推荐

