[python] import error 해결법
ImportError
보통 python import
했는데 에러나면 모듈 설치가 안돼서 그런거니
1
2
3
4
5
6
pip uninstall [module]
pip install [module]
# OR
conda install --force-reinstall [module]
하면 보통 해결됨.
conda 사용시 다른 python 경로 사용에 따른 에러
위처럼 다시 설치했는데도 아래처럼 엉뚱한 python경로에서 module을 찾으면서 없어서 못가져오겠다고 하는 경우
1
2
3
4
5
6
7
8
9
10
11
12
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/hpc/packages/minerva-rocky9/py_packages/3.12/lib/python3.12/site-packages/matplotlib/__init__.py", line 159, in <module>
from . import _api, _version, cbook, _docstring, rcsetup
File "/hpc/packages/minerva-rocky9/py_packages/3.12/lib/python3.12/site-packages/matplotlib/cbook.py", line 24, in <module>
import numpy as np
File "/hpc/packages/minerva-rocky9/py_packages/3.12/lib/python3.12/site-packages/numpy/__init__.py", line 135, in <module>
raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python interpreter from there.
>>>
본인 python경로와 module불러오려고 하는 위치가 맞는지 확인하자
내 경우, conda로 python 3.9설치해서 사용하고 있었는데 서버에 기본적으로 깔려 있는 python 3.12에 가서 모듈 찾으려고 하고 없다고 하고 있음.
해결 방법 : pythonpath 확인
python 종료후, terminal에서 PYTHONPATH
확인 해보자. 잘못된 경로를 출력한다면 (내경우 python3.12) 초기화해줘야함.
1
2
echo $PYTHONPATH
unset PYTHONPATH # 초기화
초기화 직후, 이어서 python 실행후 에러났던 module다시 import해보자. 잘 실행되면 pythonpath가 원인이었던게 확실해짐.
매번 사용할때마다 이렇게 초기화해주거나 .bashrc
또는 .bash_profile
에서 PYTHONPATH부분 찾아서 맞는 주소로 재설정해주자.
1
2
3
vi ~/.bashrc
###
export PYTHONPATH=/python3.9/.. # 본인 환경에 맞게 설정변경
This post is licensed under
CC BY 4.0
by the author.