使用 Windows WSL 进行 Poet 安装无法正常工作,忽略 $HOME

esf*_*bar 4 python windows ubuntu python-poetry wsl-2

我有一个 WSL 实例 Ubuntu 20.04,并且我创建了另一个 Ubuntu 18.04 WSL 实例。

\n

我在 20.04 上安装了 Poetry,没有出现任何问题。

\n

我正在尝试使用命令在 Ubuntu 18.04 实例上安装 Poetry curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -

\n

目前,我的 $HOME 环境变量指向/home/fromzeroedu.

\n

然而,安装后,Poetry 已安装在我的 Windows 用户主目录中:

\n
$ which poetry\n/mnt/c/Users/j/.poetry/bin/poetry\n
Run Code Online (Sandbox Code Playgroud)\n

如果我尝试获取版本,我会得到:

\n
$ poetry --version\n/usr/bin/env: \xe2\x80\x98python\\r\xe2\x80\x99: Permission denied\n
Run Code Online (Sandbox Code Playgroud)\n

POETRY_HOME我什至尝试在安装之前设置:

\n
export POETRY_HOME=/home/fromzeroedu/.poetry/bin/poetry\n
Run Code Online (Sandbox Code Playgroud)\n

但 Poetry 仍然安装在 Windows 用户目录中。

\n

有时候我很喜欢诗...

\n

cod*_*iko 12

这是因为 bash 不知道在哪里寻找 bin,因此它只找到 Windows 可执行文件(在wslwindowsPATH之间共享)

要解决这个问题,您需要将以下内容添加到您的~/.bashrc(最好在顶部)

export PATH="$HOME/.poetry/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

使用新的安装程序(poetry 1.1.7及以上),Bin 路径发生了变化

export PATH="$HOME/.local/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

我遇到这个问题是因为我正在使用oh-my-zsh 的自动完成插件,并且在加载插件之前需要添加诗歌。但安装脚本将其附加在末尾。PATH