PYTHON

아나콘다 vscode 환경변수 가상환경 라이브러리 관계

sihyeon3523 2021. 12. 28. 14:39

문제가 생기면 생각하지 않고 그저 블로그에 나온 내용들 찾고 트라이 해보려니 해결이 잘 안되는 것 같다. 

 

왜 그렇게 해결하는지 생각하고 실행해야 할 듯 ㅎㅎ

 

우선 내가 겪은 문제는 '가상환경' 설정과 관련된 문제였다. 

 

처음에는 이게 가상환경과 관련된 문제인지도 몰랐지만 ㅋㅋ

아래 블로그를 참고해서 많은 도움을 받았다. 

https://lapina.tistory.com/3?category=758039 

 

[파이썬] 파이썬 개발환경 구축 완료(?)

[파이썬] 파이썬 개발환경 구축 중 1. 한참동안 놓고있던 파이썬을 다시 해보려고 컴퓨터를 켰다. Anaconda 가 설치 되어있었고, Atom으로 web 공부를 하고있었으며, AWS를 이용해 RDB 를 공부하고 있었

lapina.tistory.com

 

 

암튼 문제는

'conda command not found' 라는 에러가 계속 발생하는 문제였다. 

언제 했는지는 모르겠지만 vscode에서 anaconda에서 설정한 가상환경을 사용하고 있었고, 

왜인지 conda 키워드는 사용할 수 없었다. 

 

찾아 보니 아래 블로그를 통해 환경변수를 추가하지 않았음을 알게 되었다. 

https://velog.io/@dudu/conda-command-not-found-%ED%95%B4%EA%B2%B0

 

conda command not found 해결

설치할 때 환경변수 추가할까요? 가 Not recommand라 제대로 보지도 않고 그냥 넘겼는데 이런 문제가....

velog.io

그럼 또 궁금해졌다..  환경변수는 무엇이고 왜 설정해야 하는지? 

 

환경변수 설정을 통해 변수값에 경로를 미리 세팅해서 언제든 가져다 쓸 수 있게 하는 걸 의미했다. 

현재 위치에서 conda라는 키워드를 입력할 파일(?)이 없다보니 command not found가 된 것

 

그래서 위 블로그를 통해 condabin 의 path를 추가해주었다. 

https://velog.io/@psj0810/%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98%EB%9E%80

 

환경변수란?

PATH란?경로이다. 프로그램이 실행되는 방법을 알아야한다.윈도우에서는 파일을 찾을때 가장 먼저 찾는곳이 현재 디렉토리이다.터미널을 열면 가장먼저 있는 장소가 현재디렉토리이다.cmd창에서

velog.io

 

그렇게 하고 vscode를 끄고 다시 열고나니 conda --version이 실행되었다 어디에서? 

Python select interpreter에서 ('base':conda)를 선택하고 나서...!

 

실제로 python 기본 interpreter로 'import numpy'를 하니 안되었당 

기본 python에는 numpy 라이브러리가 없으니 import 자체가 안된것!

그래서 코테에서는 import math를 쓰시나 보다 싶었다. 

파이썬 자체 내장 라이브러리(파이썬 표준 라이브러리) 였다 !!!

 

이 사실 알기 전에는 vscode에서는 conda 보다는 python으로만 작업하고 싶은데,, 그렇게 할 수 있는 방법은 없나? 하는 생각이 들었고, 찾아보니 있다 ! 가상 환경을 달리 설정해주면 될 것. 

 

아나콘다를 설치하면서 같이 설치된 numpy나 panda를 사용하고자 하면 interpreter를 anaconda에서 만든 가상환경을 설정해주면 되고 

(현재 가상환경이 어디로 설정이 되었는지는 왼쪽 하단에 보면 알수 있다/ 파란 줄 왼쪽에서('base': conda)라는 걸 알수 있다)

현재 어떤 가상 환경에서 작동되고 있는지 확인하기 위해서는 왼쪽 하단을 보자

 

python 기본 을 사용하고 싶다면 interpreter를 python 기본으로 내 경우에는 (Python 3.8.6 64-bit) 로 설정하면 된다. 

Python select interpreter  =  Ctrl + shift + p 

 

환경변수 설정과 가상환경, 그리고 내장 라이브러리까지.. 

이미 알아야 했지만 알지못했던 것들 기본적인 것들을 깨닫게 되었다.