Невозможно использовать PIP или easy_install, поскольку удалил /etc/lib/python2.7/urllib.py
Как сказано в заголовке, я нажал на клавишу:
sudo rm /etc/lib/python2.7/urllib.py
sudo rm /etc/lib/python2.7/urllib2.py
И с этим начались проблемы, Ubuntu все еще запускается, но когда я теперь хочу сделать что-нибудь с pip или easy_install, я получаю эту ошибку:
.....
import sys, os.path, re, urlparse, urllib, urllib2, shutil, random, socket, cSt$
ImportError: No module named urllib
Как я могу восстановить это?
ОБНОВИТЬ:
Я переустанавливаю python2.7, основываясь на ответе sagarchalise, но когда я ищу с помощью команды pip, то теперь я получаю следующую проблему:
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/commands/search.py", line 34, in run
pypi_hits = self.search(query, index_url)
File "/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg/pip/commands/search.py", line 48, in search
hits = pypi.search({'name': query, 'summary': query}, 'or')
File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request
verbose=self.__verbose
File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request
return self.single_request(host, handler, request_body, verbose)
File "/usr/lib/python2.7/xmlrpclib.py", line 1292, in single_request
self.send_content(h, request_body)
File "/usr/lib/python2.7/xmlrpclib.py", line 1439, in send_content
connection.endheaders(request_body)
TypeError: endheaders() takes exactly 1 argument (2 given)
Любая помощь здесь будет оценена.
1 ответ
Решение
Общий ответ, если вы случайно удалили или перезаписали файлы из пакетов:
Узнайте, к какому пакету принадлежит ваш файл
dpkg -S urllib2.py
ответы:
python2.7: /usr/lib/python2.7/urllib2.py
Переустановите пакет
sudo apt-get install --reinstall python2.7
Файл теперь восстановлен