我正在使用 Poetry 来管理在 MacOS 上运行的 Python 依赖项。我正在尝试运行 Poetry shell 并让命令在 shell 中正常工作。
当我运行
poetry shell
时,我收到以下错误:
Spawning shell within /Users/r_2009/Workspace/my_project/.venv
/etc/zshrc:7: command not found: locale
/Users/r_2009/.zshrc:7: command not found: brew
/Users/r_2009/.zshrc:source:7: no such file or directory: /nvm.sh
/Users/r_2009/.zshrc:31: command not found: pyenv
/Users/r_2009/.zshrc:37: command not found: register-python-argcomplete
其他人已在 Poetry 和 poetry shell
命令的 GitHub 问题中报告了此问题。 解释是
poetry shell
做了一些工作(使用 pexpect)来检测它正在运行的 shell 。
如果您遇到问题,您可以直接
source
virtualenv 激活脚本:
# local virtual env
source .venv/bin/activate
# poetry-managed virtual env
VENV_PATH=`poetry env info | sed -n '/Virtualenv/,/System/p' | grep 'Path:' | awk '{print $2}'`
source "$VENV_PATH/bin/activate"