3

我想使用 Assimulo 和 Sundials 来解决 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

出了什么问题,我该如何解决?任何帮助,将不胜感激!

4

2 回答 2

2

pip install assimulo在 pip 安装 numpy 和 cython 之后,我在 macos 上安装时遇到了同样的错误。对我来说,使用 conda env 就可以了:

  • 创建 conda 环境: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
于 2019-02-06T21:07:25.897 回答
1

我也有同样的错误信息。正如另一个答案中所建议的,您可以从 Conda 获取已编译的包。但是,如果您想自己从源代码编译,在我看来 PyPI 源代码压缩包不包含所有需要的文件。至少有些*.pyf文件丢失了。所以,我改用 SVN repo:

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);
于 2019-02-07T06:13:10.380 回答