Виртуальное окружение нет модуля с именем библиотеку
Я пытаюсь создать Python 2.7 virtual 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 так что библиотека поддерживают данное приложение.?
Sidenote: пожалуйста, не спрашивайте, почему я использую старые версии, это не мое выбор.
2 ответа:
Ваш 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 себе.