Когда я столкнулся с подобными ситуациями, я вообще избежать менеджер пакетов, особенно если это будет неловко нарушить что-то, то есть на сервере , Вместо этого, я пошел бы в ActiveState и загрузить их бинарный пакет:
https://www.activestate.com/activepython/downloads/
Это устанавливается путем запуска скрипта, который помещает все в папку и не трогать системные файлы. На самом деле вам даже не нужны права root для его настройки. Затем я меняю имя двоичного файла на нечто вроде apy26, добавляю эту папку в конец PATH и начинаю кодирование. Если вы устанавливаете пакеты с apy26 setup.py install
, или если вы используете virtualenv и easyinstall, тогда у вас будет такая же гибкая среда python, сколько вам нужно, не касаясь системного стандартного python.
Редактирование ... Недавно я проделал определенную работу по созданию переносного бинарного Python для Linux, который должен работать на любом дистрибутиве без внешних зависимостей. Это означает, что любые бинарные разделяемые библиотеки, необходимые переносимому модулю Python, являются частью сборки, включенной в tarball и установленной в частной структуре Python. Таким образом вы можете установить Python для своего приложения, не мешая установленному Python системе.
My github site имеет скрипт сборки, который был тщательно протестирован на Ubuntu Lucid 10.04 LTS как на 32, так и на 64 бит. Я также построил его на Debian Etch, но это было давно, и я не могу гарантировать, что я ничего не изменил. Самый простой способ сделать это - просто поместить свой выбор Ubuntu Lucid в виртуальную машину, проверить скрипт с помощью git clone git://github.com/wavetossed/pybuild.git
, а затем запустить скрипт.
После того, как вы его построили, используйте tarball на любом последнем дистрибутиве Linux.Существует одна небольшая морщина, перемещающая ее в директорию, отличную от /data1/packages/python272
, которая заключается в том, что вы должны запустить включенный patchelf
, чтобы установить путь интерпретатора ПЕРЕД двигателем каталога. Это влияет на любые двоичные файлы в /data1/packages/python272/bin
Все это основано на построении с RUNPATH и копировании зависимых разделяемых библиотек. Несмотря на то, что скрипт находится в нескольких файлах, это фактически один длинный сценарий оболочки, упорядоченный в стиле директорий /etc/rc.d.
Я лично использовал CentOS alot и сделал переход на Ubuntu из-за того, насколько жестоки дистрибутивы RedHat/CentOS (Python 2.4 ...). Если вы политически можете совершить прыжок, сделайте это. Вы будете намного счастливее и больше не будете беспокоиться об этом. –
Компиляция из источника и установка их в '/ usr/local' (по умолчанию) не должны вызывать никаких проблем. Или, еще лучше, trash centos и установить debian: P –
Huh? Точка CentOS/RHEL - это долгосрочная поддержка. Если есть возможность переключиться на последнюю версию, тогда переход на Fedora имеет гораздо больший смысл, чем переход на Ubuntu для кого-то с фоном CentOS. –