Я использую самоскомпилированную версию на python2.7, --prefix = $ HOME, чтобы не мешать стандартной установке python2.6 (в Ubuntu 10.04). Возникла проблема с импортом модулей ssl, она была обнаружена, перекомпилирована моя версия python2.7 и протестирована:
$ ~/bin/python2.7 -c "import ssl"
Выглядит хорошо, двойная проверка
$ 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
А? Там нет другой установки python2.7 на этой машине
$ 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
Просто для большей уверенности:
$ 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
Хватит с контекстом уже. Вопрос в том, почему это работает?
$(which python2.7) -c "import ssl"
когда этого нет?
$ 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