Python
파이썬 개발환경/가상환경구축
크레이지제이
2019. 12. 1. 14:05
반응형
Python Virtual Env / Conda Env
파이썬 가상환경. 여러가지 버전의 파이썬을 동시에 사용할 수도 있고, 목적에 따라 가상환경을 만들어 따로 운영할 수 있다.
딥러닝용, 그래픽용, 서버 개발용 등등
virtual env 환경 생성
-
설치된 버전 확인
- pip --version
- pip3 --version
- pip install virtualenv
- pip3 install virtualenv
-
현재 폴더 아래 가상환경 생성. 주어진 환경이름으로 폴더가 생성된다.
- virtualenv 이름 --python=pyton버전
- virtualenv py37 --python=python3.7
- 윈도우의 경우 안 된다면 --python=[python.exe fullpath]로 한다. 생략하면 현재 연결된 path의 python 버전으로 자동 인식.
가상환경으로 들어가기
- source ./py37/bin/activate
- 위 커맨드를 입력하여 실행하면 잘 되는데, shell script로 만들어 실행하면 작동하지 않는다.
- 리눅스에서는 로그인 계정의 .bashrc에 alias=‘source …’ 으로 만들어 사용하자.
- 윈도우는 source 대신 call을 사용하여 배치 파일로 만들면 된다.
- py37.bat
call c:\devtools\py37\scripts\activate
- py37.bat
- 작업이 끝나면 deactivate 로 빠져나간다.
가상 환경별로 원하는 패키지 설치
- 가상환경 사용하다가 freeze로 requirements.txt를 생성해 주자. (나중에 한 번에 필요 모듈 설치시 편리하다.)
pip list
pip freeze > requirements.txt
pip install -r requirements.txt
pip install numpy matplotlib ipykernel jupyter requests
Jupyter Notebook/Lab에 venv 등록
- pip install ipykernel
- jupyter에 가상 환경 등록
python -m ipykernel install --user --name py37
--display-name py37
(–display-name은 생략해도 된다.)
Jupyter Notebook 실행하여 확인
- jupyter notebook
파일 목록 오른쪽 메뉴에 New에 환경이름이 추가되었는지 확인한다. 소스 편집기에서 Kernel에서 Change하여 원하는 커널 환경을 선택한다. - 모듈 로딩 경로가 맞는지 최종 확인
- 설치한 패키지명을 import하여 경로를 확인한다.
- import web3, inspect
- inspect.getfile(web3)
'/storage/crazyj/py37/lib/python3.7/site-packages/web3/__init__.py'
- Jupyter notebook 기본 브라우저를 크롬으로 변경
설정 파일이 없을 경우 최초 생성
jupyter notebook --generate-config
편집
notepad %userprofile%\.jupyter\jupyter_notebook_config.py
수정 내용
c.NotebookApp.browser = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
- Jupyter notebook 암호 설정
$ jupyter notebook password
암호 입력
Conda (Anaconda) env
virtualenv 말고 conda로도 만들 수 있다.
가상 환경 전환
현재 존재하는 가상 환경 목록
conda env list가상환경 활성화
conda activate [가상환경명]
또는
activate [가상환경명]가상환경 비활성화
conda deactivate
가상환경 생성
conda create --name [가상환경명] python=3.7.3 tensorflow keras
파이썬 버전을 명시해 주고, 뒤에 추가할 패키지명들을 옵션으로 적어줄 수 있다.
가상환경 삭제
conda remove --name [가상환경명] --all
Author: crazyj7@gmail.com