
- У меня есть машина под управлением Scientific Linux 6.
- По умолчанию поставляется с Python 2.6.
- Я также установил Python 2.7.3, потому что мне нужно запустить некоторые модули, которые работают только с новейшими версиями. Это работает хорошо.
- Мне нужно установить больше библиотек для Python 2.7.3
- Я пытаюсь установить setuptools, чтобы получить эти модули.
[root@sa09b tmp]# wgethttp://peak.telecommunity.com/dist/ez_setup.py
[root@sa09b tmp]# python2.7 ez_setup.py Загрузка
http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
Трассировка (последний вызов последний): Файл "ez_setup.py", строка 278, в
main(sys.argv[1:]) Файл "ez_setup.py", строка 212, в main
из setuptools.command.easy_install импортировать основной
zipimport.ZipImportError: невозможно распаковать данные; zlib недоступен
Ого? Я думал, что это у меня установлено.
[root@sa09b tmp]# yum install zlib Загруженные плагины: fastermirror, refresh-packagekit, security
Загрузка скоростей зеркала из кэшированного файла хоста
сл: ftp1.scientificlinux.org
sl-безопасность: ftp1.scientificlinux.org
Настройка процесса установки
Пакет zlib-1.2.3-27.el6.x86_64 уже установлен и имеет последнюю версию
Нечего делать
- Поэтому я посмотрел различные форумы
- Большинство мне говорят установить zlib-devel (сделано «Пакет zlib-devel-1.2.3-27.el6.x86_64 уже установлен и имеет последнюю версию»), zlib1g («Пакет zlib1g недоступен.»), zlib1g-devel (то же, что и раньше).
Есть идеи?
:-)
Редактировать:
[root@sa09b tmp]# zlib
-bash: zlib: command not found
может ли это быть так?
Редактировать 2:
- Итак, строка, которая дает сбой, это «from setuptools.command.easy_install import main»
- Я думаю, это потому, что файл .egg с setuptools нужно извлечь с помощью zlib
- Я попробовал установить pip, но для этого тоже требуются setuptools.
- Я не могу использовать easy_install-2.7 по какой-то причине. Но easy_install для 2.6 работает нормально.
Редактировать 3:
«find» на самом деле не может найти ничего, связанного с zlib в системе, кроме python, несмотря на то, что yum сообщает, что он установлен.
[root@sa09b pip-1.2.1]# find / -name zlib /tmp/Python-2.7.3/Demo/zlib /tmp/Python-2.7.3/Modules/zlib
решение1
Я нашел ответ у другого пользователя stackoverflow.
По сути, вы можете просто скопировать zlib pre gcc из 2.6 в 2.7:
cp /usr/lib64/python2.6/lib-dynload/zlibmodule.so /usr/local/lib/python2.7/lib-dynload/zlibmodule.so
Хотя все еще хакерски.
решение2
У меня была похожая проблема. В моем случае проблема была в том, что мне пришлось устанавливать zlib-devel
вместе с другими пакетами (см. здесьhttp://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/) перед сборкой Python-2.7. После установки пакетов запуск ./configure
Python делает все различия обнаруженных библиотек и впоследствии make && make altinstall
связывает их.
решение3
Ваш пример попытки выполнить zlib НЕ указывает на наличие (или отсутствие) zlib... только на то, что команда zlib не существует.
zlib — это просто библиотека процедур.
Вам нужно посмотреть, какая версия zlib должна быть установлена и использоваться всеми программами. Я подозреваю, что либо ошибочная программа ищет не в том месте, либо ей нужна версия, отличная от установленной, либо программа, которой она нужна, устарела и нуждается в обновлении.