Установка ассимуло и солнечных часов - ошибка

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

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

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

Затем я попытался установить Ассимуло с командой 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 ответа

Я получил ту же ошибку при установке на 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

У меня тоже было такое же сообщение об ошибке. Как предлагается в другом ответе, вы можете получить скомпилированный пакет от 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);
Другие вопросы по тегам