问题描述:
在使用poetry的出现一个问题:
(venv) lianlu@lianlu-desktop:~/rasa/rasa$ curl -sSL https://install.python-poetry.org | python3 -
Retrieving Poetry metadata
The latest version (1.8.3) is already installed.
(venv) lianlu@lianlu-desktop:~/rasa/rasa$ cd rasa
(venv) lianlu@lianlu-desktop:~/rasa/rasa/rasa$ poetry install
bash: poetry:未找到命令
明明已经安装好了,但是出现
bash: poetry:未找到命令
解决:
使用下列指令排查是不是没在正确的路径下:
which -a poetry
whereis poetry
如果是正常安装并配置了环境的话会输出安装的路径,要是没的话就需要按照下面的方式来解决。
解决1:
手动添加到 PATH:
如果找到了 Poetry 的路径,你可以暂时将其添加到当前终端会话的 PATH
中:
export PATH=$PATH:/path/to/your/poetry
将 /path/to/your/poetry
替换为实际找到的 Poetry 可执行文件的目录。
解决2:
永久添加到 PATH:
为了长远考虑,应该把 Poetry 的路径永久添加到你的 shell 配置文件中。这通常是 ~/.bashrc
、~/.bash_profile
或 ~/.zshrc
,具体取决于你使用的是哪种 shell。用文本编辑器打开相应的配置文件,例如:
nano ~/.bashrc
在文件末尾添加如下行(替换为实际路径):
export PATH="$PATH:/path/to/your/poetry"
保存更改并关闭编辑器。然后,让更改生效,可以运行
source ~/.bashrc
再次尝试在终端输入 poetry
,这次应该就可以成功调用了。
解决3:
通过 which -a poetry
和 whereis poetry
命令并没有找到 Poetry 的安装路径,这意味着 Poetry 可能没有被正确安装到一个系统可识别的路径中,或者它的路径没有被添加到环境变量 PATH
中。
考虑到你之前提到已经收到消息说 Poetry 最新版本已安装,这里有几个可能的解决方案:
重新安装并确保添加到 PATH:
有时重新安装并明确指定添加到 PATH 会有帮助。使用下面的命令重新安装 Poetry,并确保勾选或同意将 Poetry 添加到 PATH 的选项:
curl -sSL https://install.python-poetry.org | python3 - --install-dir=/usr/local/bin
这个命令会尝试将 Poetry 安装到 /usr/local/bin
,这是一个通常在 PATH
中的标准位置。
手动查找 Poetry 安装位置
如果重新安装不可行,尝试手动查找 Poetry。它可能安装在了用户目录下的 .local
文件夹内,比如 ~/.local/bin
。你可以直接导航到该目录并尝试从那里运行 Poetry:
~/.local/bin/poetry install
如果这样能运行,说明只是 PATH 设置的问题,需要按照之前的说明永久添加该路径到 PATH
。
检查虚拟环境设置:
你当前在激活的虚拟环境 (venv)
下操作。确认是否在安装 Poetry 时误将其安装在了全局环境而不是当前虚拟环境中。如果是这种情况,你需要决定是要在虚拟环境中重新安装 Poetry(推荐做法,保持项目依赖隔离),还是调整工作流程以使用全局安装的 Poetry。
环境变量问题:
确保你的 shell 会话能够访问到更新后的 PATH
。有时候即使修改了配置文件(如 .bashrc
或 .zshrc
),也需要重启终端或者运行 source ~/.bashrc
(或对应的配置文件)来应用这些改变。