2014-07-15 3 views
0

저는 파이썬으로 많은 작업을하고 있습니다. 얼마 전에 나는 물고기로 바꿨다. 주로 bash 스크립트를 많이 사용하지 않았기 때문에 (주로 사용했지만 유용하지 않았습니다).
파이썬과의 호환성을 위해 virtualenv가 여러 개 있습니다. django 버전 당 2/3 가상 버전 (3 버전)이 9 개의 venvs에 있습니다.virtualenv를 이동하고 활성화하려면 별칭을 사용 하시겠습니까?

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' 

가 작동하지만 그것은 파괴, 지금 여기에 스크립트 (스크립트의 적어도 일부) 내가 배쉬 사용은 내 프롬프트와 그냥 내게는 자식이 함수, 현재 작업 디렉토리 등을 제거 > 준다.

해결할 수있는 방법이 있습니까? 생선 프롬프트 초기화를 부르면 어떨까요? 누구든지 똑같은 문제가 있으며 어떻게 해결 했습니까?

+1

django를 사용하지 않아도 질문이 적용되므로 django 태그를 제거했습니다. 또한 게시물의 제목을 사용하여 게시물에 태그를 지정하지 마십시오. –

+0

수정 해 주셔서 감사합니다. 그게 즐겁 네요 :) – Depado

답변

2

좋아. 그것은 프롬프트의 크기가 너무 큰 것 같습니다. 터미널의 현재 크기가 너무 작아 프롬프트를 표시 할 수 없으면 고전적인 > 만 표시합니다. 그게 어리석은 일이라 할지라도, 여기있는 사람들이 ... 터미널의 창 크기를 조정하면 도움이 될지도 모릅니다. 다른

2

누군가가 이미 문서가있는 a section on customzing the prompt 포함,이 문제를 직면하고 virtualfish 생성 :

virtualfish가 프롬프트와 혼란에 시도하지 않습니다. Fish의 프롬프트가 기능이기 때문에 을 자동으로 변경하는 것이 훨씬 쉽지 않으며 사용자가 원하는대로 수동으로 을 사용자 정의하는 것이 훨씬 더 편리합니다.

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

입력 funcsave의 fish_prompt를 디스크에 새 프롬프트를 저장 :

프롬프트에 VIRTUALENV 추가하는 가장 쉬운 방법은 어딘가에 다음 줄을 추가 funced fish_prompt을 입력하는 것입니다 .

+1

사실상 물고기는 조금 진화 해 왔고 지금은 virtualenvs를 지원해야합니다. 물고기와 함께 virtualenv를 활성화하는 것을 허용하는 모든 virtualenv에 실제로 .fish 스크립트가 있습니다. 나는이 가상 물고기를 보게 될 것이지만 어떤 시점에서는 유용 할 것입니다. 고맙습니다. – Depado