使用诗歌 shell 时如何动态设置环境变量?

wil*_*ech 16 gnupg virtualenv tty python-poetry

当我通过 激活虚拟环境时poetry shell,GPG 签名会变得混乱,因为$GPG_TTY是为父 shell 设置的。所以每次我用的时候poetry shell我都要做GPG_TTY=$(tty)。有没有办法自动执行此操作?理想情况下,我会在全球范围内设置一次,而不是为每个诗歌项目设置一次。

Arn*_*rne 17

Poetry 确实包含从 1.2 版本开始的插件系统,并且.env支持(如果这适用于您的用例)已经是最早编写的插件之一。您可以使用以下命令激活它

poetry self add poetry-dotenv-plugin
Run Code Online (Sandbox Code Playgroud)

如果插件不适合您,此模式适用于大多数 shell,并且适用于您的用户:

~/.bashrc

alias poetry="GPG_TTY=$(tty) poetry"
Run Code Online (Sandbox Code Playgroud)


小智 6

阿恩的答案是正确的,但是您应该使用poetry self add poetry-dotenv-plugin最新版本的诗歌。