지난 포스트에서 ns-3를 설치했다. 이번에는 ns-3에서 파이썬 사용을 위한 환경 설정을 해봤다.
ns-3는 기본적으로 C++ 개발을 전제로 하여 만들어진 툴이므로 C++로 코드를 작성했을 때 제일 효율이 좋지만, 파이썬을 이용하면 좀 더 이해하기 쉬운 코드 작성이 가능하다는 장점이 있다.
하지만, Pylance 등에서 ns-3에 대한 지원을 하지 않기 때문에 오히려 불편할 수 있다.
ns-3에서 Python 개발을 하기 위해서는 pip를 통한 cppyy 2.4.2와 bazaar 패키지가 필요하다.
우분투에서는 Python과 Python PIP를 따로 제공하기 때문에 pip도 설치한다.
정리
먼저 apt를 이용해 pip와 bzr을 설치해 준다.
$ sudo apt install python3-pip bzr
그런 다음 pip를 이용해 cppyy 2.4.2를 설치한다. ns는 2.4.2 이하 버전을 설치할 것을 안내하고 있다.
$ pip3 install --user cppyy==2.4.2
이제 설치가 완료되었으니, ns-3에서 제공하는 파이썬 예제 파일(first.py
)를 실행해본다.
$ ./waf --pyrun examples/tutorial/first.py
Waf에서 pyrun 옵션을 주면 된다.
내친 김에 아래 코드도 작성하여 테스트해보았다.
import ns.core
import sys
def LOG_UNCOND(msg: str):
while True:
print(msg, file=sys.stderr)
if False: continue
break
LOG_UNCOND("Hello Simulator")
ns-3에서 파이썬을 사용하기 위한 환경 설정을 해보았다.
파이썬을 사용할 수 있는 건 좋은 일이지만, 포스트 첫머리에도 써둔 것처럼 Pylance 등의 인텔리센스가 작동하지 않는다는 문제가 있어, 오히려 C++을 쓰는 쪽이 더 편할 수도 있다.