python-glpk安装修复

时间:2016-10-26 02:16:56

标签: python anaconda glpk

我正在尝试安装GLPK python模块从不同的角度来处理线性编程,但我没有把它弄好。有人可以告诉我,我错过了什么?

这是错误的详细信息:

Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, May 28 2015, 17:04:42) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> import glpk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python2.7/site-packages/glpk/__init__.py", line 26, in <module>
from glpk_parser import *
  File "//anaconda/lib/python2.7/site-packages/glpk/glpk_parser.py", line 352, in <module>
yacc.yacc(write_tables=0, debug=0)
  File "//anaconda/lib/python2.7/site-packages/ply/yacc.py", line 3244, in yacc
read_signature = lr.read_table(tabmodule)
  File "//anaconda/lib/python2.7/site-packages/ply/yacc.py", line 1967, in read_table
if parsetab._tabversion != __tabversion__:
AttributeError: 'module' object has no attribute '_tabversion'

我按照link

中的说明进行操作

我在网上搜索了一些解决方案,一些解决方案说必须存在版本不匹配,但我不确定这对我是否也是一样。

我还按照以下说明安装了glpk版本4.35:

Tar -xvf [filename]
。/配置 使 安装 这将安装
Glpsol - help 安装后

[虽然我不确定是否有连接]

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

所以我可以确认这是版本不匹配。由于python glpk维护得不好,所以它与ply有点不相容。

这里发生的事情是ply在没有任何特定书面模型的情况下进行了初始化。它会自动加载缺少必需属性parsetab.py的{​​{1}}。

所以你可以在parsetab中添加_tabversion(最新的ply版本),它应该创建所需的属性。另一方面,您可以使用在python glpk(旧版本3.4版本)开发过程中使用的ply版本,它为这些旧模块文件提供了一些额外的兼容路径。

最后一个选项是为python使用更好的glpk绑定实现(在大学我们在python中使用glpk通过pyomo为我们的学生)