현상
리눅스 상에서 파이썬을 실행하면, “ImportError: No module named ‘xxx'”과 같은 오류가 발생할 때가 있다. 이는 파이썬 라이브러리를 찾지 못해서 발생하는 오류이다.
원인
파이썬은 모듈이라는 단위로 라이브러리를 관리한다. 파이썬 코드 상에서 import문을 사용해 모듈을 호출할 때, 파이썬은 해당 모듈을 찾아 로드하는데, 이때 검색 경로가 설정되어 있어야 한다. 검색 경로에 해당 모듈이 존재하지 않으면, “ImportError”가 발생한다.
이러한 검색 경로를 파이썬 라이브러리 경로라고 부르며, 파이썬은 소스 코드나 설치 경로에 존재하는 라이브러리를 자동으로 검색한다. 따라서, 우리가 직접 만든 모듈이나 다른 써드파티 라이브러리를 사용할 때는, 검색 경로를 추가해줘야 한다.
해결
파이썬 라이브러리 경로는 PYTHONPATH라는 환경 변수로 설정할 수 있다. 이를 사용하면 파이썬이 모듈을 검색할 때, 해당 경로를 검색하게 된다.
-
환경 변수에 라이브러리 경로 추가
bash
export PYTHONPATH=$PYTHONPATH:/path/to/library -
코드에서 경로 추가
python
import sys
sys.path.append('/path/to/library') -
가상 환경 사용
가상환경을 사용하면, 라이브러리 경로를 독립적으로 관리할 수 있다. 가상환경을 생성하고, 해당 가상환경에서 필요한 라이브러리를 설치하면, 파이썬은 해당 경로에서 모듈을 검색하게 된다.
“`bash
가상환경 생성
python -m venv myenv
가상환경 활성화
source myenv/bin/activate
필요한 라이브러리 설치
pip install
“`
결론
파이썬에서 라이브러리를 사용할 때, 검색 경로를 지정하여 ImportError를 방지할 수 있다. 위에서 소개한 방법들 중 적합한 것을 선택하여, 라이브러리를 사용해보자. 파이썬 라이브러리 오류를 해결하면, 보다 안정적인 코드를 작성할 수 있다.