anaconda 가상환경 설치 및 python 프로젝트 초기 세팅
- Study/python
- 2020. 3. 1. 21:44
python을 사용하면서 virtual env(가상환경)을 많이 만들어서 사용하는 편인데, 주로 그냥 pip install vitualenv를 설치해서 사용했습니다.
그런데 대부분 Django를 백엔드 서버로 사용하는 스타트업이나 회사를 가보면 가상환경을 conda를 사용하더라구요. 아무래도 vitualenv로 설치 후 이것저것 패키지를 설치하는 것보다, conda를 사용하면 통일성이 있어서 좋다고 해야 하나? 그런 느낌입니다.
저희 회사에서도 백엔드 Django 서버를 conda를 이용해 돌리고 있는데요, 서버는 ubuntu고 로컬은 macOS라서 Windows에서 설치해보고 사용해본적은 없어요. 그런데 집에서도 좀 해보려고 개발환경 세팅해보려는데 어떻게 했는지 다 까먹어서 정리해 놀려고 합니다. ㅋㅋ
일단 conda를 설치해야하는데, 홈페이지는 아래 링크로
https://docs.conda.io/en/latest/
풀네임은 anaconda인데 줄여서 conda라고 부르네요. 명령어도 conda
시작하기 때문에 그냥 '콘다'라고 부르는 게 맞는 것 같습니다. python이 뱀이라는 뜻이기 때문에 아나콘다라는 뱀 이름으로 지었나 보네요. ㅋㅋㅋㅋㅋㅋ
홈페이지에 들어가면 anaconda3과 miniconda3이 있습니다. miniconda는 anaconda의 필수적인 패키지만 모아서 간소화 버전으로 만든 것으로 보입니다.
윈도우용으로 설치를 마치고 PyCharm을 켜봅니다.
저는 PyCharm에서 주로 작업을 하기 때문에 PyCharm에 프로젝트 안에서 사용하는 가상 환경을 conda로 해보겠습니다. 그전에, conda를 설치하면 아마 conda용 명령 프롬프트 실행 아이콘이 생겼을 겁니다. 시작을 눌러보시면 확인 가능합니다.
뭐 특별한 기능이 있는 프로그램은 아닌데 실행하면 바로 conda 환경이 실행되어 있습니다.
실행시키면 앞에 base라는 단어가 쓰여있습니다. conda를 설치하면 default로 base라는 가상환경이 실행되는데 추가적인 가상환경을 만들어서 프로젝트에 사용해보겠습니다.
새로운 가상환경을 만드는 명령어는 conda create인데, 옵션으로 python의 버전을 설정해줄 수 있습니다.(중요) 버전을 설정해줄 수 있다는 점이 매우 중요한데, 왜냐하면 conda는 현재 python 2.7과 3.7 버전을 base로 사용합니다. 하지만 특정 프로젝트, 회사의 프로젝트나 오픈소스 프로젝트에서는 대부분 특정한 버전의 python 사용을 권고합니다. 버전별로 python package 지원이 다르기 때문에 웬만해서는 프로젝트에서 요구하는 python 버전을 맞춰야 합니다. 저희 회사에서는 python 3.6.2를 쓰기 때문에 새로운 가상환경을 python 3.6.2로 만들겠습니다.
conda create -n [가상환경이름] python=3.6.2
위 명령어를 실행하면 이제 새로운 가상환경을 만듭다. 저는 가상환경 이름을 app이라고 설정했는데, conda create -n app python=3.6.2라고 치면 conda가 알아서 이것저것 설치하면서 새로운 가상환경을 만들어줍니다. 다시 명령프롬프트창을 열어보면 아직 base로 유지되고 있을텐데, 새로 만든 가상환경으로 넘어가려면 deactivate, activate app 을 해주시면 됩니다. deactivate는 현재 가상환경에서 나가는 것이고, activate [이름]은 특정 가상환경을 실행행하는 명령어입니다.
이제 다시 PyCharm에서 우리가 만든 app 가상환경을 기존 프로젝트에 붙여봅시다.
프로젝트 setting > project interpreter에 가보면 현재 선택되어 있는 python 가상환경(interpreter)정보가 나와있습니다. 아마 따로 설정을 안했다면 컴퓨터에 설치된 python이 선택되어 있을것이고, conda를 미리 설치하셨던 분은 conda용 python이 설정되어 있을겁니다. 우리가 하고싶은건 conda에서 만든 'app'이라는 이름의 가상환경이기 때문에 새로운 가상환경 등록을 통해 'app' 가상환경을 등록합니다.
등록하는 방법은 위 스크린샷처럼 왼쪽 위에 톱니바퀴 모양(설정 아이콘?)을 눌러서 Add를 누르고, existing environment(존재하는 가상환경)을 누른 뒤, 콘다가 설치된 폴더에 envs폴더 안에서 아까 만든 app이라는 폴더 안에 python.exe를 선택해줍니다. 그리고 OK를 누르면 이제 프로젝트에 app이라는 가상환경이 설정됩니다.
PyCharm 안에서 Terminal 탭을 눌러보면 앞에 (base)가 아니라 (app)인걸 확인할 수 있습니다. 또 python이라고 쳐보면 Python 3.6.2가 실행되는 것을 확인할 수 있습니다.
이제 가상환경 설정은 끝났고, 프로젝트에 필요한 패키지를 다운받아야 하는데.. 아마 웬만한 github에 있는 프로젝트라면 requirements.txt 파일이 root 경로에 있을 겁니다. 여기에 필요한 패키지 리스트가 있을 텐데 pip install을 통해 한번에 설치해줍니다. 명령어는 pip install -r [파일이름] 입니다.
설치하는 도중 에러가 하나 발생해서 전체가 설치되지 않고 멈췄다. ㅡㅡ
검색해보니 windows에서는 uwsgi를 지원하지 않아서 설치가 안된다고 한다. 로컬에서는 실제로 웹서버를 돌릴게 아니기 때문에 그냥 설치하지 않고 스킵하기로 했다.
django, uwsgi, nginx 연동에 관한 블로그 -> https://brownbears.tistory.com/16
드디어 설치가 완료되었다. 역시 개발하는 데 있어 가장 힘든 것은 개발환경을 구성하는 것이다. 이것저것 설치할 것도 많고 자기가 사용하는 os도 많이 타고.. 그래서 많이들 docker를 사용하는 것이겠지..
'Study > python' 카테고리의 다른 글
Django mysql Full Text Index 먹이기 (0) | 2020.03.25 |
---|---|
[ISSUE] Django migrate 문제 (0) | 2020.03.03 |
[ISSUE] gensim 설치시 Command "python setup.py egg_info" failed with error code 1 문제 (0) | 2020.02.16 |
dJango로 restful API 서버만들기 [3] - 웹에서 로그인 화면 만들어서 날려보기 (2) | 2019.11.10 |
dJango로 restful API 서버만들기 [2] - rest framework 적용 (16) | 2019.10.17 |