인프런 커뮤니티 질문&답변
넘파이 오류
작성
·
23
0
안녕하세요.
아나콘다 프롬프트에서 가상환경을 'mystudy' 라는 이름으로 설치하고, 파이썬을 3.9버전으로 다운 그레이드하고, 사이킷런을 1.0.2, lightgbm을 3.3.2 버전으로 강의처럼 다운 받았습니다.
그러나 사이킷런 버전을 확인하려고 하면 아래와 같은 오류가 발생합니다.
--------------------------------------------------------------------------ValueError Traceback (most recent call last)
Cell In[2], line 1----> 1 import sklearn 3 print(sklearn.__version__)
File ~\anaconda3\envs\mystudy\lib\site-packages\sklearn\__init__.py:82 80 from . import distributorinit # noqa: F401 81 from . import __check_build # noqa: F401---> 82 from .base import clone 83 from .utils._show_versions import show_versions 85 all = [ 86 "calibration", 87 "cluster", (...) 128 "show_versions", 129 ]
File ~\anaconda3\envs\mystudy\lib\site-packages\sklearn\base.py:17 15 from . import version 16 from ._config import get_config---> 17 from .utils import IS32BIT 18 from .utils._tags import ( 19 DEFAULTTAGS, 20 safetags, 21 ) 22 from .utils.validation import check_X_y
File ~\anaconda3\envs\mystudy\lib\site-packages\sklearn\utils\__init__.py:23 20 import numpy as np 21 from scipy.sparse import issparse---> 23 from .murmurhash import murmurhash3_32 24 from .class_weight import compute_class_weight, compute_sample_weight 25 from . import _joblib
File sklearn\utils\murmurhash.pyx:1, in init sklearn.utils.murmurhash()ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
넘파이 버전이 낮아서 발생하는 오류라고 하는데, 제가 방법을 찾아봐도 해결이 안되네요 이 부분은 어떻게 하면 될까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
이주호님이 언급하신 오류는 보통 넘파이와 다른 라이브러리 간의 호환성 문제로 인해 발생합니다. 특히, 사이킷런과 넘파이 간의 버전 차이 때문에 발생할 수 있으며, 이 경우에는 주로 넘파이를 업그레이드하여 해결할 수 있습니다.
오류 메시지에서 “numpy.dtype size changed, may indicate binary incompatibility”라는 내용은 현재 사용 중인 넘파이 버전과 사이킷런이 호환되지 않는다는 경고입니다. 이를 해결하려면 아래의 단계를 시도해 보세요:
해결 방법:
- 넘파이 업그레이드
아나콘다 프롬프트에서 가상 환경'mystudy'를 활성화한 후, 다음 명령어로 넘파이를 최신 버전으로 업그레이드하세요:
conda activate mystudy
pip install --upgrade numpy
- 사이킷런 및 다른 라이브러리와의 호환성
모든 라이브러리가 호환되어 있는지 확인하려면 사이킷런과 함께 설치된 라이브러리 정보를 아래 명령어로 확인하세요:
pip list
- 환경 초기화
여전히 문제가 발생한다면 새로운 가상 환경을 생성하여 모든 라이브러리를 다시 설치하는 방법도 있습니다:
conda create -n newenv python=3.9
conda activate newenv
pip install scikit-learn==1.0.2
pip install lightgbm==3.3.2
pip install numpy
관련 질문으로는 다음 게시물을 참조하실 수 있습니다:
이 방법으로 문제가 해결되길 바라며, 추가적인 문제가 있으시거나 다른 문의가 있으시면 추가로 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






안녕하세요.
pip uninstall numpy -y
pip install numpy==1.23.5
위 코드로 가상 환경 내에 넘파이를 다시 설치했습니다.
일단 사이킷런 버전 확인 코드는 실행되긴 했는데, 앞으로 실습에서 문제가 없을지요?
감사합니다.