본문 바로가기
Python

AttributeError: 'Graph' object has no attribute 'node' 오류 해결 방법

by 자유로운시간 2023. 10. 23.
반응형

파이썬 라이브러리 중에서 networkx이 내장되어 있는 툴을 사용하다보면,

아래와 같은 에러를 뱉는 경우가 있다.

 

1. networkx 버전이 안맞음

2. AttributeError: 'Graph' object has no attribute 'node'

 


 

Networkx 버전이 맞지 않을 때 해결 방법

# networkx 라이브러리 삭제
pip uninstall networkx

# i) 재설치
pip install networkx

# ii) 특정 버전 설치
pip install networkx == 2.3

 

기존의 networkx 2.3 버전으로 작성된 파이썬 스크립트 기반의 툴을 사용할 때

networkx 2.3 버전으로 맞추라고하는 warning 메세지가 발생할 것이다.

 

이때, networkx 버전을 2.3으로 맞추게되면

현재 사용하고 있는 python 3과 안맞는 에러가 계속 발생할 것이다.

 

그래서 그냥 에러를 무시하고 networkx를 버전을 최신으로 재설치해주고

아래와 같은 방법으로 해결하는 걸 추천한다.


AttributeError: 'Graph' object has no attribute 'node'

 

위와 같은 에러를 발생시킨 파이썬 스크립트에서

node메서드를 nodes 메서드로 수정해준다.

 

.node       ->       .nodes

 

 

1. vi를 통한 방법

# 오류 메세지에서 해당 스크립트 경로와 파일을 보여줄 것이다.
# vi 를 통해 해당 파이썬 파일을 수정한다.

vi /path/to/script.py

# esc 입력

# :%s - 문자열 변경
# g - 문서 전체에 적용(글로벌하게 적용)
# :%s/변경 전 문자/변경 후 문자/g
:%s/node/nodes/g

 

 

2. 리눅스에서 sed를 사용하는 방법

# -i를 입력하면 script.py 스크립트의 내용이 덮어쓰기되는 점 유의!!
sed -i 's/변경전 내용/변경할 내용/g' script.py

 

 

 

 

Reference

1. https://stackoverflow.com/questions/58518554/attributeerror-graph-object-has-no-attribute-node

 

AttributeError: 'Graph' object has no attribute 'node'

I have bellow python code to build knn graph but I have an error: AttributeError: 'Graph' object has no attribute 'node'. It seems that the nx.Graph() has no node attribute but I don't know what sh...

stackoverflow.com

 

반응형