У меня есть коробка CentOS 5.5 с предустановленным Python 2.4. Хотел 2.6, поэтому использовал yum
получить его из репозитория EPEL. Я также использовал yum
чтобы установить пакет psycopg2, но он установил его для Python 2.4.
Я пробовал копировать /usr/lib/python2.4/site-packages/psycopg2/
к /usr/lib/python2.6/site-packages/
, и когда я запустил свой сценарий, он сработал ... но он дал мне предупреждение, в котором говорилось
/usr/lib/python2.6/site-packages/psycopg2/__init__.py:69: RuntimeWarning: Python C API version mismatch for module _psycopg: This Python has API version 1013, module _psycopg has version 1012.
Похоже, здесь происходит какая-то проблема с версией, и мне интересно, как лучше всего ее исправить. Должен ли я просто проигнорировать предупреждение и продолжить? Есть ли способ использовать yum
установить psycopg2 для Python 2.6? Я должен просто установить из источника с помощью python26 setup.py install
? Я знаю, что установка из исходников - это вообще нет в CentOS, поэтому я хочу, чтобы это было последним средством, если только это не единственный вариант. Я просто не хочу облажаться yum
.
Я пробовал копировать
/usr/lib/python2.4/site-packages/psycopg2/
к/usr/lib/python2.6/site-packages/
...
Это не должно работать.
Если вы хотите psycopg2
доступны для нескольких интерпретаторов Python, у вас есть несколько вариантов ... Мне нравится virtualenv
для манипулирования несколькими установками Python в системе. Таким образом, у вас может быть столько комбинаций версий изолированного модуля, сколько вам нужно.
Если вы просто хотите установить psycopg2
где находятся библиотеки Python2.6, тогда нам нужно уточнить интерпретаторы Python ... предположим, что Python2.6 установлен в /usr/bin/python26
. Я предполагаю, что вы удовлетворили зависимости для psycopg2
в вашей установке Python2.6 ... на этом этапе загрузите psycopg2 tarball, унтар, cd
в распакованный каталог архива и (как root) запустить /usr/bin/python26 setup.py install
. Это установит psycopg2
для Python2.6.