Virtualenv нет модуля с именем zlib

Я пытаюсь создать Python 2.7 виртуального env под Python2.6, я просто запускаю:

virtualenv --python=python27 #python27 correctly leads to my python installation in /opt/python2.7/bin/python 

Ошибка Virtualenv со следующей ошибкой

 Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/virtualenv.py", line 17, in <module> import zlib ImportError: No module named zlib 

Это меня озадачивает, потому что:

1) У меня явно есть модуль python zlib. Я могу легко импортировать его, когда запускаю «import zlib» в интерактивной среде python 2.6.

2) У меня также установлена ​​zlib в моей системе (centos):

 [me@mycomp]# rpm -qa | grep zlib zlib-1.2.3-29.el6.x86_64 zlib-1.2.3-29.el6.i686 zlib-devel-1.2.3-29.el6.x86_64 

Есть два других вопроса, касающихся этой проблемы: здесь и здесь , в обоих случаях у людей просто нет zlib, которые не являются моим случаем (у меня это в python 2.6, и это должно быть хорошо?), Они также используют pythonbrew которая, по-видимому, уже не находится в активном развитии.

Почему virtualenv не может найти zlib? Как virtualenv просматривает свои модули? Нужно ли устанавливать zlib в Python2.7? Или переустановите Python2.7, чтобы поддержка zlib была подтверждена?

Sidenote: пожалуйста, не спрашивайте, почему я использую старые версии, это не мой выбор.

2 Solutions collect form web for “Virtualenv нет модуля с именем zlib”

Ваш Python должен быть скомпилирован без поддержки Python, скорее всего, потому что zlib-devel не был установлен, когда он был скомпилирован . Глядя на вывод make или make install вы должны увидеть что-то вроде следующего (взято из сборки Python 2.7.6):

 Python build finished, but the necessary bits to build these modules were not found: [...] zlib To find the necessary bits, look in setup.py in detect_modules() for the module's name. 

Чтобы решить вашу проблему, вам необходимо установить zlib-devel (если он не установлен) и перекомпилировать или переустановить Python.

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

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

  • Декодировать сжатые данные gzip и base64 в читаемый формат
  • Python и zlib: Ужасно медленная декомпрессия конкатенированных потоков
  • Распаковка части файла .gz с использованием python
  • import zlib ImportError: нет модуля с именем zlib
  • Как раздуть частичный файл zlib
  • Как скомпилировать Python 2.4.6 с помощью ssl, readline и zlib на Debian Lenny
  • Python с расширением ZIP64 при сжатии больших файлов
  • Unpicking данные маринованные в Python 2.5, в Python 3.1, затем разжатие с zlib
  • Python - лучший язык программирования в мире.