установка ассимуло и солнечных часов - ошибка - PullRequest
0 голосов
/ 31 января 2019

Я хочу использовать Assimulo и солнечные часы для решения дифференциальных алгебраических уравнений в Python, и поэтому я пытаюсь установить его на Ubuntu.

Для установки солнечных часов я следовал инструкциям по установке и, как японимаю, что это работает хорошо.

% cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lib/sundials-3.1.1/  ~/opt/sundials/sundials-3.1.1
% make
% make install

Затем я попытался установить Assimulo с помощью команды pip3 install Assimulo, но я получаю сообщение об ошибке.Я также попытался следовать инструкциям Установка - документация Assimulo 3.0 , загрузив установочные файлы и установив его с помощью следующей команды.Это приводит к тому же сообщению об ошибке.

sudo python3 setup.py install --sundials-home=/usr/local/lib/sundials-3.1.1

Это сообщение об ошибке, которое я получаю:

  target build/src.linux-x86_64-3.6/assimulo/thirdparty/hairer/dopri5module.c does not exist:
   Assuming dopri5module.c was generated with "build_src --inplace" command.
error: 'assimulo/thirdparty/hairer/dopri5module.c' missing

Что не так и как я могу это исправить?Любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

У меня тоже было такое же сообщение об ошибке.Как предлагается в другом ответе, вы можете получить скомпилированный пакет от Conda.Но если вы хотите скомпилировать из исходного кода самостоятельно, мне кажется, что исходный архив PyPI не содержит всех необходимых файлов.По крайней мере, некоторые *.pyf файлы отсутствуют.Поэтому вместо этого я использовал SVN-репо:

svn checkout https://svn.jmodelica.org/assimulo/tags/Assimulo-3.0/ assimulo

Скомпилировав это дерево исходников, мне удалось получить исходную ошибку, которая была у вас, но теперь у меня другая ошибка сборки, которую я пока не знаюкак решить:

ssimulo/solvers/sundials.c: In function '__pyx_f_8assimulo_7solvers_8sundials_5CVode_initialize_cvode':
assimulo/solvers/sundials.c:33274:31: error: too many arguments to function 'CVodeCreate'
     __pyx_v_self->cvode_mem = CVodeCreate(__pyx_t_3, __pyx_t_4);
0 голосов
/ 07 февраля 2019

Я получил ту же ошибку при установке на macos через pip install assimulo, после установки pip numpy и cython.Для меня использование conda env сделало трюк:

  • Создание conda env: conda create -n your_name_goes_here
  • conda activate your_name_goes_here
  • conda install python=3.6 (я заметил вастакже можно использовать 3,7)
  • conda install -c conda-forge assimulo
...