Python:为什么在MacOSX上导入glpk时会遇到此错误? [英] Python: Why am I encountering this error with importing glpk on MacOSX?

查看:157
本文介绍了Python:为什么在MacOSX上导入glpk时会遇到此错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我按照以下步骤操作,但遇到了第一个错误:

I followed these steps and got my first error:

wget http://www.dcc.fc.up.pt/~jpp/code/python-glpk/python-glpk_0.4.43.orig.tar.gz
tar -xzf python-glpk_0.4.43.orig.tar.gz
cd python-glpk-0.4.43/src/
sudo make install

我收到此错误:

make -C swig all
make[1]: pyversions: Command not found
gcc -Wall -c -fPIC glpkpi_wrap.c -DHAVE_CONFIG_H -I/usr/include/ -I/usr/lib//config
glpkpi_wrap.c:130:11: fatal error: 'Python.h' file not found
# include <Python.h>
          ^
1 error generated.
make[1]: *** [glpkpi_wrap.o] Error 1
make: *** [all] Error 2

然后我通过更改Python版本或下面的部分链接到python: 内swig/Makefile

Then I linked to the python by changing the Python version or let's say section: inside swig/Makefile

已更改

PYVERS := $(shell pyversions -d)

PYVERS := "Python 2.7.6" 

这是我的python版本

which is my python version

make -C swig all
swig -python  glpkpi.i
./glpk.h:916: Warning 314: 'in' is a python keyword, renaming to '_in'
sed -i 's/:in /:_in /g' glpkpi.py
sed: 1: "glpkpi.py": extra characters at the end of g command
make[1]: *** [glpkpi.py] Error 1
make: *** [all] Error 2

现在,当我在示例文件夹中运行python test.py时,它只是崩溃并说:

Now when I run python test.py inside the examples folder, it just crashes and says:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/glpk/__init__.py", line 26, in <module>
    from glpk_parser import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/glpk/glpk_parser.py", line 352, in <module>
    yacc.yacc(write_tables=0, debug=0)
  File "/Library/Python/2.7/site-packages/ply/yacc.py", line 3244, in yacc
    read_signature = lr.read_table(tabmodule)
  File "/Library/Python/2.7/site-packages/ply/yacc.py", line 1967, in read_table
    if parsetab._tabversion != __tabversion__:
AttributeError: 'module' object has no attribute '_tabversion'

我尝试了以下教程: 从源代码构建并安装

I tried the following tutorials: Build and install from source

然后我尝试

安装Python-glpk教程

有些事情是不对的,我错过了导致

Something is just not right, what step am I missing that is causing the

import glpk

失败了吗?

我也尝试了Brew安装,没有运气!我也包括了我的Python路径,仍然没有帮助.

I tried brew installation as well, no luck! I have included my Python path as well, still no help.

啊,最后我尝试了这个:

Ah and lastly I tried this:

import sys    

sys.path.append('/Library/Python/2.7/site-packages/glpk/')

仍然没有运气!最后一步是答案

still no luck! Last step was inspiration from this answer

推荐答案

好,我试图重现您的问题并遇到相同的错误, 我设法通过将ply的版本从 3.6 更改为 3.4 .

Ok, I tried to reproduce your problem and went through the same errors, I managed to make it work by changing the version of ply from 3.6 to 3.4.

请注意,我在glpk库中遇到错误,必须将其降级为 4.43

Note that I had an error with the glpk library and had to downgrade it to 4.43

这篇关于Python:为什么在MacOSX上导入glpk时会遇到此错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆