(macOS) Anaconda로 GNU Radio 패키지 설치

드디어 때가 됐다.
열일할 때가 ㅎㅎ
졸업하고 취업하고 따박따박 들어오는 월급으로 사회의 다양한 즐길 거리를 누렸고, 어느덧 이것도 조금씩 지겨워진 것 같다.
그래서 다시 일을 해야겠다는 생각이 들게 되었다.

마침 프로젝트 기회가 생겨 오래 전부터 해 보고 싶었지만 미루고만 있었던 GNU Radio를 이제는 정말로 익혀야 하는 상황이 되었다.

오늘 일단 GNU Radio wiki 웹사이트를 참고하여 MacBook Air 15, M2에서 Anaconda를 통해 gnuradio 패키지를 설치해 보겠다.

Trial #1

우선 Anaconda의 Conda-forge 웹사이트에서 gnuradio를 검색하고 Files 탭을 누른 후현재 support되는 Python version 확인한다.

특히 내가 지금 설치하려는 본체는 M2이기 때문에 osx-arm64 패키지를 찾아야 한다.

그런 다음 지원되는 Python version에 맞춰 GNU Radio를 위한 새로운 Anaconda 가상환경을 만들어 주고 gnuradio 패키지를 설치한다.

> conda create -n gnuradio_python310 python=3.10
> conda activate gnuradio_python310
> conda install conda-forge::gnuradio

(왜인지 모르는데, 가상환경 만든 후 conda를 update하라는 메시지가 뜰 수 있는데, 이때 진짜 conda update conda 를 하면 "Solving environments:" 에서 멈춤. 딱히 좋은 방법이 없으니 그냥 가상환경 지우고 다시 만든 다음에 conda update 무시하고 gnuradio 설치 진행해 보기로 함.)

자, 설치가 완료됐다면 다음 명령어로 GNU Radio visual editor인 GNU Radio Companion (GRC) 를 실행해 본다.

> gnuradio-companion


아 또 에러가 생김.
뭔가 가상환경은 activate 됐지만 다른 Python library들의 경로를 제대로 못 찾는 게 아닌가 싶다.

경로를 손 봐야 하는, 뭔가 굉장히 위험해 보이는 (잘 몰라서 실수하면 뻑날 것 같음 ㅜㅜ) 경로 설정 전에 Visual Studio Code에서 한 번만 더 도전해 볼까 한다.

Trial #2


GNU Radio wiki를 보니 GNU Radio Integration이라는 extension이 있는 것 같음.



설치 후 [cmd] + [shift] + [p] 로 "GNURadio Companion: Open the application" 을 선택


아 또 에러가 생김.

어, 근데 에러를 좀 더 자세히 읽어 보니 NumPy를 제대로 import 못 했다고 하는 거 같은데!?
그래서 .py 파일을 만들어 NumPy를 시도해 보니 이게 웬걸

이 가상환경 하에서는 NumPy 자체가 안 된다.
뭐지?

Trial #3

그래서 평소 일반 가상환경 만들 듯이 아래와 같이 anaconda까지 설치했다.

> conda create -n gnuradio_python310 anaconda python=3.10

이후 위 NumPy를 다시 시도해 보니 잘 됨 ㄷㄷ


하지만 Anaconda 기본 라이브러리를 더한 후 다시 gnuradio를 설치하려고 하니 다시 무한 "Solving environments..."에 빠지게 되었다 ㅜ
오래 걸려서 되면 좋은데, 결국 "Found conflicts!" 라는 문구와 함께 conflicts 찾고 그냥 끝남...
해결되는 게 없음 ㅋ

Trial #4

그렇다면 이렇게 해보자.
Anaconda는 물론 개별적으로 설치하는 Python이랑 NumPy가 GNU Radio와 충돌을 일으키는 것 같으므로, gnuradio 설치하면서 알아서 필요한 Python와 NumPy가 설치되게 하기.

(1) 가상환경 생성 (Python, Anaconda, NumPy ㄴㄴ)
> conda create -n gnuradio

(2) 가상환경 활성화 후 gnuradio 바로 설치
> conda activate gnuradio
> conda install conda-forge::gnuradio

(3) gnuradio-companion 실행
> gnuradio-companion


=> 망함.


Trial #5

혹시 Apple Silicon M2하고 Python 3.10하고 뭐가 안 맞나? (다른 Python 3.9 가상환경도 잘 돌아가는 것을 보면 아닐 것 같긴 하면서도...)

위위위에 GNU Radio conda-forge file 목록을 보니 Python 3.12도 지원하는 것 같으므로 이 버전으로 해 보기.

(1) 가상환경 생성 (Python, Anaconda, NumPy ㄴㄴ)
> conda create -n gnuradio_python312

(2) 가상환경 활성화 후 Python 3.12 버전의 GNU Radio 바로 설치
> conda activate gnuradio_python312
> conda install conda-forge::gnuradio python=3.12

(3) gnuradio-companion 실행
> gnuradio-companion



=> 망함

Python하고 NumPy 하고 자꾸 뭐가 안 맞는다는 에러가 나오는데...


Trial #6

어쩌면 자동으로 딸려오는 저 NumPy가 문제일 수도 있다.
사실 반복적으로 나타났던 오류메시지에도 NumPy가 설치된 방법이 틀렸을 수도 있다고 했으니까.

그럼 이번엔 이렇게 해 본다.
위 시도에서 GNU Radio와 Python 3.12를 설치했을 때 자동으로 설치된 NumPy 버전이 2.2.4라는 것을 바탕으로 Python 3.12랑 NumPy 2.2.4를 가상환경 생성과 동시에 미리 설치하기.
그리고 Visual Studio Code에서 NumPy 평소처럼 이상 없이 작동하는지 확인하기.


(1) 가상환경 생성 (Python 3.12, NumPy 2.2.4)
> conda create -n gnuradio_python312 python=3.12 numpy=2.2.4

(2) 가상환경 활성화 후 gnuradio 추가 설치
> conda activate gnuradio_python312
> conda install conda-forge::gnuradio

(3) gnuradio-companion 실행
> gnuradio-companion




눈물난다 진짜!!!!

Comments