Я не знаю, почему это происходит, но после некоторого сумасшедшего восстановления после установки Python из источника, когда что-либо импортирует hashlib, это придумывает что-то вроде этого ошибка:
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 9, in <module>
from pip.log import logger
File "/usr/lib/python2.7/dist-packages/pip/log.py", line 8, in <module>
from pip import backwardcompat
File "/usr/lib/python2.7/dist-packages/pip/backwardcompat/__init__.py", line 66, in <module>
from urllib2 import URLError, HTTPError
File "/usr/lib/python2.7/urllib2.py", line 93, in <module>
import hashlib
File "/usr/lib/python2.7/hashlib.py", line 138, in <module>
_hashlib.openssl_md_meth_names)
AttributeError: 'module' object has no attribute 'openssl_md_meth_names'
Скорее всего, у Вас все еще есть несправедливость hashlib (та без openssl_md_meth_names) брожение вокруг. Это импортируется вместо надлежащего.
Делают это как корень:
# cd /
# find . | grep hashlib
Тогда удаляют (хорошо, переименуйте;-)) любые hashlib файлы не в/usr/lib/python2.7
Мой питон был сохранен путем удаления файла ./usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so
.
Я понятия не имею, откуда он взялся, но его удаление заставило импортировать hashlib и снова использовать pip.