TensorFlow는 데이터 분석과 머신러닝을 위한 대표적인 오픈소스 소프트웨어 라이브러리입니다. 인공지능과 딥러닝 분야에서 널리 활용되며, 수많은 개발자와 연구자에게 필수적인 도구로 자리 잡았습니다. 하지만 Python 환경에서 TensorFlow를 사용하려고 할 때 'ModuleNotFoundError: No module named 'tensorflow'' 오류가 발생하는 경우가 종종 있습니다.
'No module named TensorFlow' 오류는 왜 발생할까요?
이 오류는 시스템에 TensorFlow 모듈이 설치되어 있지 않거나, 설치가 불완전하거나 손상된 경우에 발생합니다. Python 코드에서 TensorFlow를 import하려고 할 때 해당 모듈을 찾지 못하면서 아래와 같은 에러 메시지가 출력됩니다.
ModuleNotFoundError: No module named 'tensorflow'
참고로 가상환경(virtual environment)을 사용하는 경우, TensorFlow가 설치된 환경이 아닌 다른 환경에서 코드를 실행했을 때도 동일한 오류가 나타날 수 있습니다.
해결 방법: TensorFlow 모듈 설치하기
'no module named tensorflow' 오류를 해결하려면 시스템에 TensorFlow 모듈을 설치해야 합니다. 아래 단계를 순서대로 따라 진행해 보세요.
1단계: pip 설치
pip는 Python 패키지를 손쉽게 설치하고 관리할 수 있도록 도와주는 패키지 관리 도구입니다. 시스템에 pip가 설치되어 있지 않다면 운영체제에 맞는 방법으로 설치하세요.
Linux의 경우:
$ sudo apt-get install python3-pip # Debian 및 Ubuntu 계열
$ sudo yum install python3-pip # CentOS/RHEL
$ sudo dnf install python3-pip # Fedora
$ sudo pacman -S python-pip # Arch 계열
macOS의 경우:
$ sudo easy_install pip
Windows의 경우:
https://bootstrap.pypa.io/get-pip.py 에서 pip 설치 스크립트를 다운로드한 후, 명령 프롬프트에서 아래 명령어를 실행합니다.
python get-pip.py
2단계: TensorFlow 설치
pip 설치가 완료되면 아래 명령어를 실행하여 TensorFlow를 설치합니다.
pip install tensorflow
이 명령어를 실행하면 시스템에 최신 버전의 TensorFlow가 설치됩니다. 특정 버전이 필요한 프로젝트라면 아래와 같이 버전을 지정하여 설치할 수도 있습니다.
pip install tensorflow==2.15.0
3단계: 설치 확인
TensorFlow가 올바르게 설치되었는지 확인하려면 Python 셸을 열고 아래 코드를 입력합니다.
>>> import tensorflow as tf
>>> print(tf.__version__)
설치가 성공적으로 완료되었다면 오류 없이 TensorFlow 버전 정보가 출력됩니다. 반대로 여전히 오류 메시지가 표시된다면 설치가 제대로 되지 않았거나 시스템과의 호환성 문제가 있을 가능성이 있습니다. 이 경우 TensorFlow를 재설치하거나, 공식 문서를 참조해 추가적인 문제 해결 절차를 진행해 보시기 바랍니다.
마무리
'No module named tensorflow' 오류는 대부분 TensorFlow가 설치되지 않았거나 잘못된 환경에서 실행되어 발생하는 문제입니다. 위의 세 단계(pip 설치 → TensorFlow 설치 → 설치 확인)만 차근차근 따라 하면 대부분의 경우 빠르게 해결할 수 있습니다.
저자 소개
Kevin Arrows는 10년 이상의 업계 경력을 보유한 기술 전문가입니다. Microsoft Certified Technology Specialist(MCTS) 자격증을 보유하고 있으며, 최신 기술 동향을 꾸준히 학습하는 데 큰 열정을 지니고 있습니다. 소프트웨어 개발, 사이버보안, 클라우드 컴퓨팅 등 다양한 기술 주제에 대해 폭넓게 집필해 왔으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들의 인정을 받고 있습니다.