Esquecer uma localização executável em hash no shell interativo bash

2

Costumo me deparar com o caso em que estou trabalhando dentro de um virtualenv do Python e quero executar um programa Python executável (por exemplo, bpython). Eu corro, esquecendo que eu não o instalei no meu virtualenv, então não vai fazer a coisa certa. Então, eu instalei o bpython no meu virtualenv, mas se eu tentar executar a nova versão, o bash "lembra" o antigo e o chama.

Para ser mais concreto:

(venv)$ bpython
       (whoops, system-level bpython!)
(venv)$ which bpython
/usr/local/bin/bpython
(venv)$ type bpython
bpython is hashed (/usr/local/bin/bpython)
(venv)$ pip install bpython 
(venv)$ which bpython
/Users/lorin/.virtualenvs/venv/bin/bpython
(venv)$ type bpython
bpython is hashed (/usr/local/bin/bpython)

Como eu digo ao prompt do bash para "esquecer" que o local do bpython é /usr/local/bin/bpython para essa sessão?

    
por Lorin Hochstein 01.06.2012 / 17:57

2 respostas

7

Você pode dizer ao bash para refazer o resumo:

hash -r
    
por 01.06.2012 / 18:11
0

A redefinição da variável PATH fará isso:

export PATH=$PATH
    
por 01.06.2012 / 17:57

Tags