0

当我尝试安装 ManPy 时,我收到以下错误消息:

错误:已安装 pyparsing 2.1.4,但 set(['pulp']) 需要 pyparsing<=1.9.9

我检查了 Pyparsing 设置,但没有找到解决方案。

4

1 回答 1

0

这实际上是 PuLP 的 setup.py 中的一个错误(显然是 ManPy 使用的):

#hack because pyparsing made version 2 python 3 specific
if sys.version_info[0] <= 2:
    pyparsing_ver = 'pyparsing<=1.9.9'
else:
    pyparsing_ver = 'pyparsing>=2.0.0'

从 pyparsing 2.0.1 开始,pyparsing 统一为 Py2 和 Py3 安装使用单一代码库,但仅使用已向后移植到 2.7 的 Py3 构造。这需要几个版本才能解决,但是 pyparsing(从 2.0.3 开始,现在是 2.1.9 版本)现在与 Python 2.6 及更高版本兼容。

如果您使用的是 2.6 之前的 Python 版本,那么您需要安装 pyparsing 1.5.7,这是 2.6 之前的最后一个兼容版本,并且没有计划新的 1.x 版本。

联系 PuLP 的维护者,看看你是否可以让他们在他们的 setup.py 文件中修复这个版本测试。

更新:仔细检查后,我发现 PuLP 使用了一个名为 Amply 的小模块来执行实际的表达式解析。我刚刚在我的 pyparsing 2.1.9 环境中使用 Amply 进行了一些测试,它们运行得很好。

于 2016-09-11T15:20:10.943 回答