2013-05-03 8 views
1

Я пытаюсь установить numpy 1.7 через RPM на старой машине Linux с Python 2.4. numpy release notes и the RPM page говорят, что это должно быть совместимо с 2,4 (или < = 2,7), но когда я пытаюсь установить его на компьютере с помощью командыУстановка numpy RPM с более старой версией Python

rpm -i /tmp/python-numpy-1.7.0-2.1.i586.rpm 

я получаю ряд недостающих нот зависимостей, в том числе :

libc.so.6(GLIBC_2.11) is needed by python-numpy-1.7.0-2.1.i586 
    libc.so.6(GLIBC_2.4) is needed by python-numpy-1.7.0-2.1.i586 
    liblapack.so.3 is needed by python-numpy-1.7.0-2.1.i586 
    libpython2.7.so.1.0 is needed by python-numpy-1.7.0-2.1.i586 
    python >= 2.7 is needed by python-numpy-1.7.0-2.1.i586 
    python = 2.7 is needed by python-numpy-1.7.0-2.1.i586 
    python(abi) = 2.7 is needed by python-numpy-1.7.0-2.1.i586 
    rpmlib(PayloadIsLzma) <= 4.4.6-1 is needed by python-numpy-1.7.0-2.1.i586 

Так что теперь требуется хотя бы Python 2.7, а не до 2,7. Является ли это реальным несоответствием или я неправильно использую rpm? Я привык к менеджерам пакетов верхнего уровня Linux, которые корректно сообщают о зависимостях и устанавливают их автоматически, поэтому я не уверен, как это сделать.

+0

есть причина, по которой вы не хотите обновлять до Python 2.7? – MattDMo

+0

К сожалению, эта машина является одной из многих на моей работе и во всем мире, в которой работает Python 2.4, и у меня мало возможностей обновить их. (Я изучаю, было ли практично положить numpy на них, хотя это будет намного проще, чем обновление Python?) – dpitch40

+0

Примечания к выпуску NumPy для исходной версии. На странице RPM descr ничего не говорится о более старых версиях Python. (Обратите внимание, что PSF отказался от поддержки Python 2.4, поэтому он даже не получает исправлений безопасности.) –

ответ

1

Вы уверены, что ваша дистрибутива уже не содержит numpy? Похоже, numpy является частью epel.

Если по какой-либо причине вы не хотите использовать версию в дистрибутиве, вам, скорее всего, придется самостоятельно создавать RPM. Я был в состоянии построить 1.7.1 на CentOS 5.7 следующим образом:

sudo yum install rpm-build gcc python-devel 
wget 'https://pypi.python.org/packages/source/n/numpy/numpy-1.7.1.tar.gz' 
tar -xf numpy-1.7.1.tar.gz 
cd numpy-1.7.1/ 
python setup.py bdist_rpm 
sudo yum localinstall dist/numpy-1.7.1-1.i386.rpm 

генерируемого RPM (в ./dist) должен быть полезным без перестройки на всех машины с аналогичной аппаратной и операционной системой.

+0

Я пробовал все это, окончательная установка об/мин с ошибкой «Пакет numpy-1.7.1-1.i386.rpm не подписан». – dpitch40

+0

, тогда вам нужно передать '--nogpgcheck' в yum; который временно отключит требование подписи пакета. – SingleNegationElimination

+0

Я получил его для работы, отредактировав файл /etc/yum.conf; Я думаю, что версия yum этих машин предшествует этому варианту. Есть ли причина, по которой я не могу использовать команду «rpm» для ее установки?(Я просто пробовал, кажется, работает без подписи) – dpitch40

1

Если все машины имеют одинаковые версии Python, glibc, и т.д., то это, вероятно, будет легче получить numpy source и построить его самостоятельно, если у вас есть gcc (и, возможно, gfortran) установлен вместе с зависимостями, как BLAS и LAPACK. Как только он установлен на одном компьютере, вы можете скопировать папку numpy (и любой файл .egg) с /usr/lib/python2.4/site-packages (или любой другой каталог) и распространить его по всему миру. Обязательно создавайте статические библиотеки при сборке, чтобы везде не нужны все зависимости.

Я также получаю numpy 1.7.1, так как он исправляет некоторые проблемы с 1.7.0.

+0

Я получил его на одной машине, используя метод RPM, указанный в другом ответе. Где я могу найти эти .egg-файлы? – dpitch40

+0

они должны быть в RPM, который вы создали. После установки RPM проверьте каталог '/ usr/lib/python2.4/site-packages', и вы должны найти подкаталог 'numpy /', а также файл au с именем 'numpy-1.7.1-py2. 4.egg-info'. Если его там нет, не волнуйтесь, ваша версия Python может не поддерживать яйца. В принципе, это всего лишь метаданные о пакете, очень похожие на то, что вы найдете на [PyPI] (https://pypi.python.org/pypi/numpy) – MattDMo

Смежные вопросы