Outra opção é adicionar um alias ao seu arquivo ~/.bashrc
:
alias diffuse='/usr/bin/python /usr/bin/diffuse'
Isso evita que as coisas quebrem quando o difuso é atualizado.
O difusor é instalado na minha estação de trabalho e funciona bem com o Mercurial, então eu geralmente o uso para o diff'ing. No entanto, também estou usando um Virtualenv Python para usar alguns módulos diferentes em uma configuração mais controlada (mais fácil de enviar para outras pessoas). Quando eu tento executar o Diffuse de dentro do meu virtualenv (aqui chamado sandbox
), ele vomita:
(sandbox)nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ diffuse bread.py # fail...
Traceback (most recent call last):
File "/usr/bin/diffuse", line 124, in <module>
import pygtk
ImportError: No module named pygtk
Fora funciona bem ...
(sandbox)nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ deactivate
nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ diffuse bread.py # works fine.
Eu assumo que o Diffuse é um aplicativo Python e depende de encontrar módulos no ambiente; Existe uma maneira de usar o ambiente "global" (por exemplo, por meio de um alias)? Não tenho certeza do que o programa está fazendo em relação ao ambiente ... ele está procurando por meio do PATH por módulos, tentando usar o que quer que which python
apresente ...
Outra opção é adicionar um alias ao seu arquivo ~/.bashrc
:
alias diffuse='/usr/bin/python /usr/bin/diffuse'
Isso evita que as coisas quebrem quando o difuso é atualizado.
Se a primeira linha de /usr/bin/diffuse
se parece com:
#!/usr/bin/env python
ele será executado em Python dentro do seu virtualenv. A maioria dos aplicativos em Python deve configurá-lo para:
#!/usr/bin/python
que irá executá-lo com o sistema Python. Se isso estiver errado, pode ser um erro no Diffuse ou no seu pacote no Debian / Ubuntu.
Tags bash python virtualenv