Windows WSL下安装Poetry忽略$HOME变量错误安装到Windows路径问题
问题解决步骤
核心问题根因
两个异常的触发原因分别是:
- 安装路径跳转至Windows目录:一是你配置的
POETRY_HOME参数错误,该变量需指向Poetry的根目录而非可执行文件路径;二是WSL默认继承Windows的PATH环境变量,若你此前在Windows侧安装过Poetry,优先级会高于WSL本地安装的版本,导致which命令优先识别到/mnt/c下的文件 python\r权限报错:Windows系统的文件换行符为CRLF(带\r标识),Linux无法识别该格式,调用Windows盘内的Poetry脚本就会触发该解析错误
具体解决操作
- 先清理错误配置,重新设置正确的环境变量:
# 清除错误的POETRY_HOME配置 unset POETRY_HOME # 设置正确的POETRY_HOME根目录路径 export POETRY_HOME=/home/fromzeroedu/.poetry # 将Poetry本地可执行文件路径加到PATH最前面,优先级高于Windows继承的路径 export PATH=$POETRY_HOME/bin:$PATH
如果需要永久生效,将上面后两行配置写入~/.bashrc(如果用zsh就写入~/.zshrc),之后执行source ~/.bashrc生效即可。
- 重新执行安装命令:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -
- 验证安装结果:
执行which poetry确认返回路径为/home/fromzeroedu/.poetry/bin/poetry,再执行poetry --version确认正常输出版本号即可。
如果仍需要使用Windows侧安装的Poetry,可执行dos2unix /mnt/c/Users/j/.poetry/bin/poetry转换文件换行符格式,即可解决\r识别报错问题,但更推荐使用WSL本地安装的版本,兼容性更高。
内容的提问来源于stack exchange,提问作者esfoobar
相关产品推荐
相关产品推荐

