我已经安装了PyDSTool
包:
pip install PyDSTool==0.90.2
它返回:
Requirement already satisfied: PyDSTool==0.90.2 in /usr/local/lib/python2.7/dist-packages/PyDSTool-0.90.2-py2.7.egg
Requirement already satisfied: six in /usr/local/lib/python2.7/dist-packages (from PyDSTool==0.90.2)
Requirement already satisfied: scipy>=0.9 in /usr/local/lib/python2.7/dist-packages (from PyDSTool==0.90.2)
Requirement already satisfied: numpy>=1.6 in /usr/local/lib/python2.7/dist-packages (from PyDSTool==0.90.2)
它告诉我scipy
的要求已经满足,但是在python:
~$ python
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyDSTool
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyDSTool-0.90.2-py2.7.egg/PyDSTool/__init__.py", line 76, in <module>
raise RuntimeError("SciPy v0.5.1 or above is required")
RuntimeError: SciPy v0.5.1 or above is required
我已经尝试了来自this post的解决方案,并且看到this unanswered post似乎有类似的问题,但使用conda
代替pip
。
编辑:
我也尝试下载软件包并安装setup.py
关联,但我仍然遇到同样的问题
编辑2:
要解决此问题,另一个选项是降级scipy
:
pip install scipy==0.19.1
答案 0 :(得分:2)
sourceforge上的PyDSTool项目主页已关闭:http://pydstool.sourceforge.net/指向http://www.ni.gsu.edu/~rclewley/PyDSTool/FrontPage.html,返回“找不到文件”。
该项目已移至GitHub:https://github.com/robclewley/pydstool
有几个问题符合你的要求。问题在于,目前,SciPy的integrate
模块的开发打破了PyDSTool的调用。
一种解决方案:使用旧版SciPy。替代方案要么是找到自己的失败点,要么在这里使用分支:https://github.com/tkf/pydstool/tree/tkf
答案 1 :(得分:2)
PyDSTool
在__init__.py
第76行存在错误
原始代码如下:
if vernums[1] < 5:
raise RuntimeError("SciPy v0.5.1 or above is required")
我已经更改了这样的代码,然后问题消失了:
if vernums[1] < 5:
if vernums[0] == 0:
raise RuntimeError("SciPy v0.5.1 or above is required")
问题是原始代码没有检查第一个版本代码。