python 安装gexf插件时遇到问题及需修改的内容

安装:pip3 install pygexf

引用: import gexf   或 from gexf import Gexf    (用来测试一下是否安装成功,如果你是python 3.0以上版本,那么看一下出现问题的解决办法。)

ps: 如果找不到自己python安装在什么地方了。。。可以用下面的方法查看。

import sys

print(sys.path)

问题1:No module named'_gexf' 

打开python下site-packages 文件夹,找到gexf文件夹,对文件夹内的__init__.py进行修改,将所有的__gext之前加’.’(加一个 “点” )

问题2:TabError: inconsistent use of tabs and spaces in indentation

空格和tab空格位置不统一问题,打开_gexf.py文件,重新将代码格式重排一下即可解决。

问题3:except Exception, e:

由于是python 2.0版本的,与3.0版本在编写格式上的不同,所以报错,这里 打开_gexf.py文件 修改成   except Exception as e:  解决。

同理还有一些print的问题,给print把括号加上  print() 即可。

问题4 :ModuleNotFoundError: No module named 'lxml'

pip3 install lxml   解决

问题5:AttributeError: 'dict' object has no attribute 'iteritems'  错误提示。

是由于python3.5以后,iteritems  变为  items

所有都改为: 

for id, value in self._nodesAttributes.items()

问题6:TypeError: write() argument must be str, not bytes

原因为:Python3给open函数添加了名为encoding的新参数,而这个新参数的默认值却是‘utf-8’。这样在文件句柄上进行read和write操作时,系统就要求开发者必须传入包含Unicode字符的实例,而不接受包含二进制数据的bytes实例。

解决方法:使用二进制写入模式(‘wb’)来开启待操作文件,而不能像原来那样,采用字符写入模式(‘w’)。

原文地址:https://www.cnblogs.com/sly27/p/11365584.html