проблема компиляции и установки модуля cantera python - PullRequest
3 голосов
/ 18 ноября 2011

Я пытаюсь установить Cantera как модуль Python в Ubuntu Linux.Для справки я использовал следующие инструкции: Установка Cantera .После запуска ./preconfig и make я получаю следующую ошибку:

fatal error: numarray/arrayobject.h: No such file or directory

В соответствии с файлом предварительной настройки

# If numpy was installed using the --home option, set this to the
# home directory for numpy. This will be needed for all numpy installations
# that don't put the include files into python's native include directory.
#NUMPY_HOME=${NUMPY_HOME:="$HOME/python_packages"}

, и я использую студенческую версию Enthought Python Distribution поэтому я подумал, может быть, мне нужно изменить последнюю строку на:

NUMPY_HOME=${NUMPY_HOME:="/usr/local/EPD/lib/python2.7/site-packages/"}

, но это не работает.Я все еще получаю ту же ошибку.Мысли?Я установил python-dev, чтобы исправить предыдущую ошибку, так что это не так.

Ответы [ 3 ]

1 голос
/ 18 ноября 2011

Я нашел исправление. Следуя этим инструкциям , которым я ранее следовал, я получил его на работу. Разница в том, что в прошлый раз я скачал файл tar.gz, и на этот раз я использовал хранилище subversion, которое, я думаю, может быть более обновленным. В любом случае, это сработало, и мне не нужно было менять стандартную команду python.

Редактировать: мне нужно изменить это значение по умолчанию:

PYTHON_CMD=${PYTHON_CMD:="/usr/local/EPD/bin/python"}

Полагаю, неплохо также опубликовать инструкции, чтобы они были доступны здесь для других пользователей:

Первый шаг - установить любые зависимости. Это обрабатывается apt-get: sudo apt-get установить subversion g ++ gfortran python2.6-dev python-numpy libsundials * graphviz
Следующий шаг - получить источник кантеры. Это можно сделать, загрузив файл cantera-1.8.0-beta-tar.gz с сайта cantera, чтобы проверить последнюю версию с svn. svn checkout http://cantera.googlecode.com/svn/cantera18/trunk/ cantera
Перейдите в каталог cantera (либо svn checkout, либо unararred / gunzipped cantera-1.8.0)
Отредактируйте файл с именем preconfig и убедитесь, что следующие строки включены, комментируя / редактируя
PYTHON_PACKAGE = $ {PYTHON_PACKAGE: = "полный"}
USE_NUMPY = $ {USE_NUMPY: = "y"}
SUNDIALS_VERSION = $ {SUNDIALS_VERSION: = '2,3'}

Then in a terminal run the following commands:
./preconfig
make
sudo make install
source ~/setup_cantera
If every thing went well you should be able to import the Cantera module in python:
python
>>>from Cantera import *
1 голос
/ 06 декабря 2011

Мы никогда не заставляли его работать, просто устанавливая переменную include в pre_config.Вместо этого мы делаем:

...
USE_NUMPY=${USE_NUMPY:="y"}

if [ "$USE_NUMPY" = "y" ]; then
    export NUMPY_INC_DIR=`python -c 'import numpy; print numpy.get_include()'`
fi

У нас не было никаких проблем с тех пор, как мы начали это включать.

1 голос
/ 18 ноября 2011

Возможно, у вас есть несколько Python дистрибутивов на вашем Ubuntu.Чтобы использовать EPD для установки Cantera, вы должны четко указать, какой дистрибутив использовать:

PYTHON_CMD=${PYTHON_CMD:="/usr/local/EPD/bin/python"}

Каждый дистрибутив имеет свой собственный каталог site-packages, поэтому, указав PYTHON_CMD, вы также указываетекакой site-packages использовать.Когда установлена ​​Numpy, она также устанавливает интерфейсы с Numarray на site-packages/numpy/core/include/numpy, поэтому нет необходимости загружать Numarray.Кроме того, numpy устанавливается в каталог site-packages из EPD, поэтому NUMPY_HOME (который используется только тогда, когда numpy не установлен в каталоге по умолчанию) следует оставить без изменений.Надеюсь, это поможет.

...