본문으로 바로가기
반응형

파이썬에서 원하는 패키지를 pip install을 통해 정상적으로 설치하였고, 성공적으로 설치하였다는

메시지도 확인했는데도 import 가 되지 않는 경우가 있다. 혹시 잘못됬나 싶어서 패키지를 지워도 보고, 다시 import문을 적어봐도 이런 경우에는 소용이 없다. 

보통 pip를 해도 안되는 경우는 크게 pip버전이 안맞아서 pip를 upgrade해줘야 하는 경우, 

아예 패키지명이 잘못된 경우 등이 있는데, 이 경우는 성공적으로 설치했음에도 import가 되지 않는 경우를 소개한다. 

 

위 사진처럼 이미 잘 설치되어있음에도 from import 구문이 작동하지 않는 것이다. 

바로 아래 처럼 말이다. 

 

heapdict라이브러리를 사용하기 위해 from절에 적어주었는데 노란 밑줄이 있는 것을 볼 수 있다. 

살펴보면 다음과 같은 문구가 뜨게 되는데, 즉슨 지금 heapdict를 사용할 수 없다는 뜻이다. 

 

왜 설치했는데 사용하지 못할까? 

 

정답은 현재 사용중인 파이썬 인터프리터가 무엇이냐에 달려있다. (사실 인터프리터가 뭐냐라고 표현하기 보다는 패키지가 설치되는 경로가 달라서 라고 말하는게 맞다. 다만 그 이유가 지금 사용하는 인터프리터가 다름으로 인해 경로도 다름으로 인함이다. )

 

visual studio code를 쓰시는 분이면 알겠지만, 왼쪽 하단에 보면 현재 본인이 사용중인 인터프리터가 뜰 것이다. 

나의 경우 현재 인터프리터가 conda로 되어있다. (예전에 세팅해준적이 있어서)

 

그런데 여기서 문제는 pip install을 통해 패키지를 다운받으면 conda 인터프리터가 있는 곳이 아닌

AppData/ ~ /python39/python.exe와 관련된 경로에 패키지가 다운된다는 것이다. (python.exe 하위 디렉토리에 설치된다는 뜻이 아니라 관련 상위 디렉토리에 설치된다는 뜻이다. ) 

 

하지만 conda의 경우 miniconda/envs/api/python.exe의 경로를 가지고 있는데, pip install로 설치되는 디렉토리와 아예 다르다. 

python 64bit기본(python.org에서 다운 받는 python3를 의미) 의 경우에 AppData/Local에 다운되기 마련이다. 

 

이러한 점때문에 conda를 쓰다가 무심코 pip를 했을 경우 경로가 달라 인식할 수 없게 되는 것이다. 

 

vscode의 하단에 있는 인터프리터 정보(사진에서 파란색 창에 있는 글씨) 를 클릭하면 Select Interpreter 정보가 나온다.

 

그럼 이제 여기서 AppData에 있는 python.exe 인터프리터로 선택하면 

경고가 사라지는 것을 확인할 수 있다. 

 

conda에 설치하는 방법이 있었던 것 같은데, 다시 또 찾아봐야겠다. 

그렇게 하면 굳이 이렇게 인터프리터까지 바꿔가며 하지 않아도 된다. 

conda install과 pip install이 또 같은줄만 알았는데, 다르다고 한다. 밑에 블로그에 좋은 설명이 나와있다. 읽어보면 좋을 듯 

https://daewonyoon.tistory.com/359

 

[Anaconda] conda install 과 pip install 은 똑같은 걸까?

일전에 아나콘다에서의 패키지 설치라는 포스팅을 하였다. 아나콘다에서는 되도록 pip install 보다는 conda install 을 사용하고, 부득이하게 pip install 을 사용해야 하는 조건, pip 의 사용했을 때 이후

daewonyoon.tistory.com

 

반응형

댓글을 달아 주세요

  1. BlogIcon 西醫 2021.12.28 19:38 신고

    인터프리터가 하나 밖에 없는 상태인데도 동일한 문제가 생길 때는 어떻게 해야 하나요?

    • BlogIcon Razelo 2021.12.28 21:47 신고

      흠 글쎄요... 저는 한개일때 이런적이 없어서 도움이 될지는 모르겠지만 혹시 만약 현재 VScode 를 사용중이시다면 파이썬인터프리터를 설치한것과는 별개로 vscode의 extension에서 python을 설치하지 않으셨다면 그런 문제가 발생하지 않을까? 라는 추측을 해볼 수 있을 것 같습니다.

    • BlogIcon 西醫 2021.12.28 21:50 신고

      커맨드와 vscode의 파이썬 default version 이 다른 것 같습니다.

      혹시 default 변경하는 법 아시나요? 참 어렵네요 ㅠㅠ

    • BlogIcon Razelo 2021.12.28 21:59 신고

      음... 혹시 mac을 사용중이신가요? 그렇다면 https://minnit-develop.tistory.com/15 여기 사이트참고해보실래요? 간단하게 나와있어서 따라해보시기 좋을것같네요 이외에 방법은 잘은 모르겠지만 디폴트 변경은 예전에 아나콘다 설치해서 이것저것 작업할때 썼던 기억이 있는데 아마 그게 아니라 그냥 vscode에서 python 쓰고 싶으시다면 지금 안되시는게 되게 간단한 문제라고 생각되서 다운받으신 python인터프리터 삭제하시구 최신버젼으로 다시 깔으셔서 vscode에서도 python다시 깔아보시면 어떨까요?

    • BlogIcon 西醫 2021.12.28 22:02 신고

      인터프리터는 어떻게 삭제하나요?

      프로그램 삭제는 여러번 해보고 다시 다운로드해봤는데...

      윈도우고 파이썬 익스텐션 설치 완료

      다했는데 그러내요

    • BlogIcon Razelo 2021.12.28 22:09 신고

      윈도우시면 시작버튼에 설정 메뉴가 있을텐데 거기 들어가시면 앱 메뉴가 있을거고 들어가셔서 python 찾아서 삭제하시면 되요 그리고 vscode에서는 extension에 python 검색하셨을때 뜨는 가장 최상단을 선택해서 uninstall 누르시면 vscode 상에서 삭제가 됩니다.
      양쪽에서 모두 다 삭제하셨으면 처음 설치했을때처럼 python 홈페이지에서 최신으로 다운 하시면 되요. 지금 버전이 문제니까 직접 버전 선택하시지 마시구 홈페이지에 downloads 메뉴에 마우스 갖다대시면 최신버전 python3.10.1이 뜨니까 그대로 그거 받으시면 됩니다. 그리고 나서 vscode 에서도 extension에 python 검색하시구 최상단에 뜨는거 설치하시면 됩니다.

    • BlogIcon 西醫 2021.12.28 22:22 신고

      https://codechacha.com/ko/change-python-version/

      검색하다보니 여기까지 찾기는 했네요. 문제가 디폴트 변경 부분에 있는 것 같아요.

      그런데 아직도 문제가 해결되지는 않았습니다 ㅠㅠ

      여기 조금만 더 파면 나올 것 같기는 한데...

    • BlogIcon Razelo 2021.12.28 22:32 신고

      흠... 이 이상은 저도 잘 모르겠네요... ㅎㅎ 정안되시면 검색하시면서 다 따라해보시면 되요... 설정에서 생기는 문제가 워낙 간단한 이유인데도 너무 사소한 이유때문인지라 찾기도 힘들죠. 화이팅하시길 ㅎㅎ

    • BlogIcon 西醫 2021.12.28 22:43 신고

      감사합니다!

  2. BlogIcon 西醫 2021.12.28 22:46 신고

    /usr/bin

    여기에 최신 버전을 넣으라는데, 혹시 이 디렉토리로 들어가는 방법 아시나요?

    • BlogIcon Razelo 2021.12.30 09:42 신고

      추가로 쓰신 댓글을 늦게봤네요 ㅜ
      음 경로를 보니 리눅스를 말하는 것 같네요 linux를 쓰신다면 cd 명령어를 치고 거기에 방금 말씀하신 디렉토리를 치면 되실거예요! 그러면 그 디렉토리로 들어갈 수 있습니다.

  3. BlogIcon 승니 2022.02.22 13:43 신고

    감사합니다!

  4. 선생님 사랑해요

  5. 우아!! 2022.08.09 18:34

    고맙습니다!!! 해결되었어요~!!!

  6. 형짱이야? 2022.09.12 03:28

    2시간고생햇는데 한방에해결 ㅠ고맙따리

Razelo 기술노트
블로그 이미지 Razelo 님의 블로그
VISITOR 오늘23 / 전체59,370