我使用virtualenvwrapper
来设置虚拟环境,就像我在终端中所做的任何事情一样,我在很大程度上依赖于标签完成的节省时间的魔力。
在我在Ubuntu 16.04上使用的terminator terminal emulator中,标签完成功能正常用于workon
命令(即,我输入work
,然后按Tab键获取workon
- 输入那么多是获得独特完成所必需的)。当我尝试使用标签完成作为虚拟环境的名称时出现问题:它可以工作,但不是预期的。例如,如果我有一个virtualenv testenv
,并且在我的终端中输入workon test
并点击标签,它会显示testenv
作为唯一完成,但我需要添加(或删除)至少一个字符才能完成名称。所以,作为一个奇怪的工作的例子:
workon test
。testenv
(但提示中的命令未完成,我仍然看到$ workon test
。t
,以便我在提示符中有$ workon tes
。$ workon testenv
。选项卡完成一次后,它将继续为该终端会话工作,因此如果我再次输入$ workon test
,它会在我第一次点击时完成test
到testenv
标签
这不会使事情无法使用,我自然能够在没有任何完成的情况下输入整个命令。但是,完成工作,但看起来与其他地方不同,这一事实让我每天都疯狂了。
这是一个错误吗?预期的行为?有没有解决这个问题?到目前为止我的搜索结果是空的。
答案 0 :(得分:2)
实际上,当我向.bashrc
添加初始化时问题已解决:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
如docs中所述。