别名移动和激活virtualenv?

时间:2014-07-15 08:06:37

标签: python virtualenv fish

我用Python工作了很多。前段时间我换了鱼。主要是因为我没有真正使用过很多bash脚本(我曾经使用过,但对于我的工作,它主要没用)。
我有几个virtualenv兼容python。每个版本的django(3个版本)有2/3 virtualenvs,这使它成为9个venvs。现在这里是一个脚本(至少是脚本的一部分),我用bash:

if [[ $1 == "myproject" ]]; then
    cd $HOME/Prog/Scripts/Python/project/
    if [[ $2 == "--env" ]]; then
        source ../dj1.6-3.3venv/bin/activate
    fi
    if [[ $3 == "--run" ]]; then
        python manage.py runserver
    fi
fi

现在我得到了一个简单的鱼别名:

alias project_django='cd ~/Prog/Scripts/Python/project/; and source ../dj1.6-3.4.1venv/bin/activate.fish'

虽然它有效,但它会破坏我的提示,只是给我通常的>删除git函数,当前工作目录等。

我有办法解决这个问题吗?就像通过调用鱼类提示初始化一样?有没有人得到同样的问题,你是如何解决它的?

2 个答案:

答案 0 :(得分:2)

好的。似乎提示的大小太大了。当终端的当前大小太小而无法显示提示时,它只显示经典>。尽管这很愚蠢,但它可能会帮助周围的人知道......只需调整终端窗口的大小。

答案 1 :(得分:2)

其他人已经遇到过此问题,并创建了virtualfish,其文档包含a section on customzing the prompt

  

virtualfish不会试图弄乱你的提示。自鱼的   提示是一个功能,改变它的直接性要小得多   它是自动的,更方便简单的自定义   手动根据自己的喜好。

     

将virtualenv添加到提示符的最简单方法是键入funced   fish_prompt,在某处添加以下行:

if set -q VIRTUAL_ENV
    echo -n -s (set_color -b blue white) "(" (basename "$VIRTUAL_ENV") ")" (set_color normal) " "
end
  

然后,键入funcsave fish_prompt以将新提示保存到磁盘。