Удалил usr/lib/python2.7 по ошибке, как исправить?

Во время редактирования приложений Django я по ошибке удалил папку python2.7 в usr/lib/python2.7.

После того, как эта проблема возникла, я всегда получал следующее сообщение при использовании:

Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ImportError: No module named site

--- ОС Ubuntu12.04 ----

Я попытался обратиться к этим страницам:

http://bugs.python.org/issue6060,

Python/IPython ImportError: нет модуля с именем site

а также попробуйте использовать

sudo apt-get install --reinstall для переустановки версии python2.7.8

Мой PYTHONPATH теперь выглядит так

PYTHONDIR= usr/local/lib/python2.7,

PYTHONHOME= usr/local/lib/python2.7,

ПИТОНПУТЬ=

но я все еще получаю сообщение об ошибке ImportError: нет модуля с именем site msg

Если я попытаюсь ввести

Import sys

Я бы получил сообщение об импорте: невозможно открыть изображение `sys': @ error/blob.c/OpenBlob/2587.

Я хочу знать, в чем моя проблема сейчас, и как ее исправить?

Большое спасибо,


person Porter Chen    schedule 24.08.2014    source источник
comment
похоже, перезагрузитесь или попробуйте заголовок superuser.com/questions/577430/   -  person Porter Chen    schedule 24.08.2014


Ответы (1)


Во-первых, будьте осторожны (даже ограничительно) в отношении того, что вы когда-либо запускали от имени пользователя root. Обычный пользователь не может что-то изменить в /usr/lib, и не зря — это ломает систему.

Во-вторых, вы можете узнать, какие пакеты содержат вещи в этом каталоге, используя:

$ dpkg -S /usr/lib/python2.7
python-qgis, python-gdal, python-psycopg2, python-pyspatialite, youtube-dl, virtualbox, duplicity, bzr-git, bzr-builddeb, debconf, ipython, libpython2.7-minimal:i386, libpython2.7-dev:i386, tahoe-lafs, seascope, samba, qbzr, python2.7, python-zope.interface, python-zfec, python-yaml, python-xdg, python-xapian, python-wxversion, python-wxgtk2.8, python-ws4py, python-webob, python-wadllib, python-vipscc, python-utidylib, python-usb, python-urllib3, python-tz, python-twisted, python-twisted-words, python-twisted-web, python-twisted-runner, python-twisted-news, python-twisted-names, python-twisted-mail, python-twisted-lore, python-twisted-core, python-twisted-conch, python-twisted-bin, python-tk, python-tdb, python-talloc, python-support, python-subversion, python-sphinx, python-software-properties, python-six, python-sip, python-simplejson, python-simplegeneric, python-setuptools, python-setools, python-serial, python-sepolicy, python-sepolgen, python-semanage, python-selinux, python-secretstorage, python-scipy, python-samba, python-routes, python-roman, python-requests, python-repoze.lru, python-reportlab, python-reportlab-accel, python-renderpm, python-radare2, python-qt4, python-qt4-gl, python-qscintilla2, python-pyvorbis, python-pytools, python-pysqlite2, python-pyside.qtxml, python-pyside.qtwebkit, python-pyside.qtuitools, python-pyside.qttest, python-pyside.qtsvg, python-pyside.qtsql, python-pyside.qtscript, python-pyside.qtopengl, python-pyside.qtnetwork, python-pyside.qthelp, python-pyside.qtgui, python-pyside.qtdeclarative, python-pyside.qtcore, python-pyside.phonon, python-pyparsing, python-pyopencl, python-pygments, python-pygame, python-pycurl, python-pycryptopp, python-pyaudio, python-pyasn1, python-poppler-qt4, python-ply, python-pkg-resources, python-pivy, python-pip, python-pil, python-pexpect, python-paramiko, python-pam, python-openssl, python-opengl, python-opencv, python-ogg, python-oauthlib, python-oauth, python-numpy, python-ntdb, python-newt, python-nevow, python-networkx, python-netifaces, python-mysqldb, python-musicbrainz, python-mock, python-mechanize, python-markupsafe, python-markdown, python-mako, python-magic, python-lxml, python-libxml2, python-ldb, python-lazr.uri, python-lazr.restfulclient, python-launchpadlib, python-keyring, python-jinja2, python-ipy, python-imaging, python-httplib2, python-html5lib, python-gtk2, python-gst0.10, python-gst0.10-rtsp, python-gpgme, python-gobject-2, python-glade2, python-gi, python-freenect, python-foolscap, python-feedparser, python-fastimport, python-eyed3, python-enchant, python-egenix-mxtools, python-egenix-mxdatetime, python-ecdsa, python-dulwich, python-docutils, python-docopt, python-dnspython, python-distro-info, python-distlib, python-decorator, python-debian, python-dbus, python-dateutil, python-cssutils, python-cssselect, python-crypto, python-configobj, python-colorama, python-collada, python-cherrypy3, python-chardet, python-bzrlib, python-bluez, python-beautifulsoup, python-audit, python-apt, python-apsw, policycoreutils, mercurial, mercurial-common, lsb-release, iotop, hugin-tools, hplip, frescobaldi, libpython2.7:i386, libpython2.7-stdlib:i386, dblatex, cython, cfv, bzr-upload, bzr-search, bzr-pipeline, bzr-loom, bzr-explorer: /usr/lib/python2.7

(Да, список очень длинный.) Зная этот список, мы можем запросить переустановку этих пакетов:

$ sudo apt-get install --reinstall `dpkg -S /usr/lib/python2.7 | sed -e s/,//g -e 's/: .*$//'`

Прошу прощения за очень длинную командную строку; команда sed здесь очищает вывод dpkg, чтобы создать только список пакетов, которые мы хотим переустановить. Этот метод, вероятно, поможет решить конкретную проблему, о которой вы упомянули, но даже если она возникнет один раз, это означает, что вы не уверены в последствиях других изменений. Возможно, вы захотите замедлиться и узнать больше о структуре вашей системы.

Такие вещи, как переменные PYTHON*, не сильно помогут вам, если у вас нет точно соответствующей версии Python в другом месте, чего мы стараемся избегать в дистрибутивах Linux, потому что у нас обычно есть работающее (хотя и ограниченное) управление пакетами.

Наконец, я думаю, что вопрос больше похож на вопрос суперпользователя, чем на переполнение стека.

person Yann Vernier    schedule 24.08.2014
comment
Спасибо за ответ. Я новичок в unix-os, и я действительно знаю, что создаю большие проблемы. Я выполняю перечисленные вами шаги, но все равно получаю сообщение ImportError. Есть ли что-то, что мне нужно сделать до или после? - person Porter Chen; 24.08.2014
comment
Я не могу сказать. Модуль site находится в этом каталоге, поэтому он должен работать до тех пор, пока вы не устанавливаете какие-либо переменные PYTHONHOME и т. д. - person Yann Vernier; 24.08.2014
comment
Да! Это сработало, большое спасибо! Я очищаю все переменные PYTHONHOME, и теперь он может работать! Спасибо еще раз! - person Porter Chen; 24.08.2014
comment
Извини! моя вина. Я только начинаю изучать кодирование. Мы очень ценим ваше терпение:) - person Porter Chen; 02.09.2014