qual programa está realmente rodando?

0

Estou executando uma versão auto-compilada em python2.7, --prefix = $ HOME, para não interferir na instalação padrão do python2.6 (no Ubuntu 10.04). Algum problema ao importar os módulos ssl, rastreou o problema, re-compilou meu python2.7 e veio testá-lo:

$ ~/bin/python2.7 -c "import ssl"

Parece bom, verifique novamente

$ python2.7 -c "import ssl"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/jab/lib/python2.7/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl

Eh? Não há outra instalação do python2.7 nesta máquina

$ which python2.7
~/bin/python2.7
$ echo $PATH
/home/jab/bin:/usr/local/bin:/usr/bin:/bin:...
$ for dir in $(echo $PATH | tr ':' ' '); do ls $dir/python2.7 2>/dev/null; done
/home/jab/bin/python2.7

Só para ter mais certeza:

$ python2.7 -c "import sys; print sys.executable"
/home/jab/bin/python2.7

$ $(which python2.7) -c "import sys; print sys.executable"
/home/jab/bin/python2.7

Já chega com o contexto. A questão é: por que isso funciona?

$(which python2.7) -c "import ssl"

quando isso não acontece?

$ python2.7 -c "import ssl"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/jab/lib/python2.7/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl
    
por jalanb 26.04.2013 / 14:16

0 respostas