【发布时间】:2020-03-24 16:42:20
【问题描述】:
我正在使用一个使用 click 自动完成功能的 Python 库。由于我已经在 conda env 中安装了该库,因此我希望自动完成功能与之相关联。 (另外,由于它没有安装在我的主要 Python 环境中,将 eval "$(_FOO_BAR_COMPLETE=source_zsh foo-bar)" 添加到我的 .zshrc 不起作用。)library I'm using 的文档说“如果渐变安装在虚拟环境中,则以下必须添加到activate 脚本中”:
eval "$(_GRADIENT_COMPLETE=source gradient)"
我最初将此添加到~/miniconda3/envs/my_env/lib/python3.6/venv/scripts/common/activate,但自动完成功能不起作用。跑步
source ~/miniconda3/envs/my_env/lib/python3.6/venv/scripts/common/activate
确实可以工作,但是我的 shell 在提示符前添加了 via __VENV_DIR__,而且当我运行 conda activate myenv 时这不会自动发生,这让我觉得这是错误的做法它(一方面,当我执行conda deactivate my_env 时它不会被禁用)。
我正在寻找的是添加脚本以在conda activate x 上运行,然后在conda deactivate x 上结束的规范方法。 This 看起来很接近,但它是用于添加带有export 和unset 的shell 变量。有没有办法通过click 的自动完成来做到这一点?
【问题讨论】:
标签: autocomplete conda zsh oh-my-zsh