zlib не может быть установлен с помощью yum - PullRequest
1 голос
/ 15 марта 2012

Я работаю в системе RHEL.В моей системе установлены две версии Python: Python 2.4 и Python 2.7, но я создал псевдоним в файле .bashrc, чтобы команда python запрашивала Python 2.7 вместо Python 2.4.

Мне нужноустановить zlib в моей системе.Я попытался установить его с помощью команды yum: yum install zlib yum install zlib-devel оба работали нормально, но когда я набираю «python», я все равно не вижу установленного zlib:

[root@mymachine]# python
Python 2.7 (r27:82500, Jan 18 2012, 17:03:29) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named zlib

Но если я импортируюzlib из Python 2.4, это работает!Зачем?Мне нужно zlib для установки с использованием Python 2.7.Как я могу это сделать?Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 16 марта 2012

Обычно вы найдете RPM только для версии Python по умолчанию в репозитории yum, однако это не должно быть применимо здесь, так как zlib должен быть установлен по умолчанию в вашей установке Python 2.7.

Проверка sys.path используя import sys; print sys.path и убедитесь, что у вас есть каталоги lib для вашей установки Python 2.7, возможно, что все, что вы делаете в .bashrc, заставляет вас выбрать среду Python 2.4.

Вотместоположение моего zlib модуля, который может быть полезен при попытке отследить ваше местоположение, чтобы вы могли убедиться, что он включен sys.path.

>>> import zlib
>>> zlib
<module 'zlib' from '/usr/local/lib/python2.7/lib-dynload/zlib.so'>

Если вы не можете его найти, то выследует переустановить Python 2.7.

1 голос
/ 16 марта 2012

Пакеты zlib и zlib-devel являются совместно используемыми библиотеками C и библиотеками разработки соответственно; zlib, который вы импортируете в Python 2.4, входит в комплект python-libs:

$ rpm -qf /usr/lib64/python2.4/lib-dynload/zlibmodule.so
python-libs-2.4.3-46.el5

Я не знаю, откуда вы взяли свой Python 2.7, но zlib является частью стандартной библиотеки - она ​​должна была быть построена с Python. Вам нужно будет приобрести модуль zlib, созданный для Python 2.7.

...