安装assimulo和sundials-错误

时间:2019-01-31 09:38:14

标签: python-3.x pip sundials assimulo

我想使用Assimulo和Sundials来解决Python中的微分代数方程式,因此我试图将其安装在Ubuntu上。

对于Sundials的安装,我遵循了安装说明,并且据我所知它运作良好。

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

然后,我尝试使用命令pip3 install Assimulo安装Assimulo,但收到错误消息。我还尝试通过下载安装文件并使用以下命令将其安装,来遵循Installation - Assimulo 3.0 documentation上的说明。结果相同的错误消息。

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 :(得分:2)

在通过pip安装numpy和cython后,通过pip install assimulo在macos上安装时,我遇到了相同的错误。 对我来说,使用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

答案 1 :(得分:1)

我也有同样的错误信息。如另一个答案中所建议,您可以从Conda获取已编译的软件包。但是,如果您想自己从源代码进行编译,在我看来PyPI源代码tarball并不包含所有需要的文件。至少缺少一些*.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);