layout: post title: “gexf错误修改方法” date: 2020-05-01 categories: Python tags: Python gexf 复杂网络 —
- 1.安装
- 2.错误解决
- 2.1 No module named’_gexf’
- 2.2 TabError: inconsistent use of tabs and spaces in indentation
- 2.3 SyntaxError: Missing parentheses in call to ‘print’. Did you mean print(self.label+” “+self.type+” “+self.mode+” “+self.start+” “+self.end)?
- 2.4 except Exception, e:SyntaxError: invalid syntax
- 2.5 if tag <> “gexf” :SyntaxError: invalid syntax
- 3.总结
gexf作为复杂网络绘图的一种函数库,在python3环境下安装时却存在一系列问题,本文将在python3.8环境下为案例,对安装过程中存在文的问题进行解析。
1.安装
采用镜像方式安装:pip install pygexf -i http://pypi.douban.com/simple –trusted-host pypi.douban.com
2.错误解决
2.1 No module named’_gexf’
import gexf
此时错误提示:No module named’_gexf’ 该错误解决办法:
打开python下site-packages 文件夹,找到gexf文件夹,对文件夹内的__init__.py进行修改,将所有的__gext之前加’.’(加一个 “点” )
如何快速定位到本地的python的site-packages文件夹可以参见这篇文章,在此不再赘述。修改过程如下:
2.2 TabError: inconsistent use of tabs and spaces in indentation
在继续执行命令时又会遇到:
TabError: inconsistent use of tabs and spaces in indentation
错误,是因为开发者在编写开源库时,格式上的错误,存在一部分被封装的函数多出了空格,因此需要我们对错误提示进行逐个消除,如:
表示_gexf.py文件中第47行存在这样的格式错误:
如图所示,第48行中,两个Tab缩进前有一个“空格”,因此将这个空格删除,即可。检查该函数下其余条目的程序是否存在同类问题。如:第60行开始也存在此类问题。具体根据错误提示逐个检查……
2.3 SyntaxError: Missing parentheses in call to ‘print’. Did you mean print(self.label+” “+self.type+” “+self.mode+” “+self.start+” “+self.end)?
这是因为库的编写者是在python2基础上编写的,因此在python3中,很多的语法不能够匹配,这里按照print()的格式修改即可。如,228行存在错误,修改后。
2.4 except Exception, e:SyntaxError: invalid syntax
同理,也是因为编写者所写的版本不同导致的,修改方法:
将 , 改为 as
2.5 if tag <> “gexf” :SyntaxError: invalid syntax
修改方法:
将<>变为!=
3.总结
至此所有的错误修改完毕,在运行过程如果还遇到报错,按照本文所讲的类似步骤逐个查找并解决可以。虽然gexf函数库在python3的环境下,存在一些错误。但是不可否认该函数库对解决复杂网络问题所做出的贡献,向开源作者点赞!
作为一名非科班出身的教育技术学研究生,技术水平十分有限。近期看到教育工作者在处理数据是比较困难,包括本教育技术学的科研工作者在面对大批量数据时也是束手无策,于是萌生了为教育工作者写一个开源库的想法,意图通过简单的几行代码就可以完成诸如文件合并、字符云等复杂功能。欢迎关注该项目,如果有同学在此方面感兴趣和可以和我联系,我们一起维护该项目!
本人感兴趣的研究方向:复杂系统计算与可解释性的深度学习以及自然语言处理。微信公众号:SMNLP;个人博客:www.litan.tech。