Невозможно использовать 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 ответ

Решение

Общий ответ, если вы случайно удалили или перезаписали файлы из пакетов:

  1. Узнайте, к какому пакету принадлежит ваш файл

    dpkg -S urllib2.py

ответы:

python2.7: /usr/lib/python2.7/urllib2.py
  1. Переустановите пакет

    sudo apt-get install --reinstall python2.7

Файл теперь восстановлен

Другие вопросы по тегам