Python

파이썬 개발환경/가상환경구축

크레이지제이 2019. 12. 1. 14:05
반응형
virtualenv

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
  • 작업이 끝나면 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