我想在Python中使用Assimulo和Sundials来解决微分代数方程,因此我正在尝试将其安装在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哪里出了问题,我该如何修复它?任何帮助都将不胜感激!
发布于 2019-02-07 05:07:26
在pip安装numpy和cython之后,通过pip install assimulo在macos上安装时,我得到了同样的错误。对我来说,使用conda env成功了:
创建conda环境的
conda create -n your_name_goes_hereconda activate your_name_goes_hereconda install python=3.6 (我注意到您也可以使用3.7)conda install -c conda-forge assimulo发布于 2019-02-07 14:13:10
我也有同样的错误信息。正如在另一个答案中所建议的,您可以从Conda获得一个已编译的包。但是如果你想自己从源代码编译,在我看来PyPI源代码tarball并不包含所有需要的文件。至少有一些*.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);https://stackoverflow.com/questions/54457481
复制相似问题