Post

[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.

© Subin Cho. Some rights reserved.

Using the Chirpy theme for Jekyll.