PyDSTool无法识别SciPy版本

时间:2018-03-19 17:46:22

标签: python scipy pydstool

我已经安装了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

2 个答案:

答案 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")

问题是原始代码没有检查第一个版本代码。