Установка egenix-mx-base под virtualenv
- By admin
- Ср 22 Июнь 2011
Несколько человек, в том числе и я столкнулись с проблемой, когда из-под виртуальной среды невозможно установить модуль egenix-mx-base.
Установка через pip оканчивалась неудачей:
pip install egenix-mx-baseDownloading/unpacking egenix-mx-baseDownloading egenix-mx-base-3.2.0.tar.gz (4.6Mb): 4.6Mb downloadedRunning setup.py egg_info for package egenix-mx-baseInstalling collected packages: egenix-mx-baseRunning setup.py install for egenix-mx-baseerror: NoneComplete output from command /home/dmitry/web/openerp/bin/python -c "import setuptools; __file__='/home/dmitry/web/openerp/build/egenix-mx-base/setup.py'; execfile('/home/dmitry/web/openerp/build/egenix-mx-base/setup.py')" install --single-version-externally-managed --record /tmp/pip-NueJAA-record/install-record.txt --install-headers /home/dmitry/web/openerp/include/site/python2.7:running installrunning buildrunning mx_autoconferror: None----------------------------------------Command /home/dmitry/web/openerp/bin/python -c "import setuptools; __file__='/home/dmitry/web/openerp/build/egenix-mx-base/setup.py'; execfile('/home/dmitry/web/openerp/build/egenix-mx-base/setup.py')" install --single-version-externally-managed --record /tmp/pip-NueJAA-record/install-record.txt --install-headers /home/dmitry/web/openerp/include/site/python2.7 failed with error code 1Storing complete log in /home/dmitry/.pip/pip.log
Установка при помощи easy_install давала примерно похожий результат:
easy_install egenix-mx-baseSearching for egenix-mx-baseReading http://www.egenix.com/Best match: egenix-mx-base 3.2.0Processing egenix-mx-base-3.2.0.tar.gzRunning egenix-mx-base-3.2.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-gyJnYN/egenix-mx-base-3.2.0/egg-dist-tmp-ZbsIvyWarning: Can't read registry to find the necessary compiler settingMake sure that Python modules _winreg, win32api or win32con are installed.error: Setup script exited with error: None
Попытка сборки из исходников так же оканчивалась неудачей:
egenix-mx-base-3.2.0$ python setup.py installrunning installrunning buildrunning mx_autoconferror: None
Решение:
Благо на сайте разработчика сказано о том, что можно установить наш модуль без C компилятора. Но для этого сперва надо знать в какой кодировке скомпилирован питон: UTF-16 (UCS-2) или UTF-32 (UCS-4). Узнать это можно так:
$ python #запускаем питон>>> import sys>>> print sys.maxunicode
Если число равно 65535, то кодировка UTF-16 (UCS2), если 4294967295, то UTF-32 (UCS4).
Для UTF-16 строка установки будет такая:
easy_install -i http://downloads.egenix.com/python/index/ucs2/
egenix-mx-base
А для UTF-32 строка установки будет выглядеть так:
easy_install -i http://downloads.egenix.com/python/index/ucs4/
egenix-mx-base
Сайт разработчика: http://www.egenix.com/products/python/mxBase/