개요
pyenv
: 다양한 파이썬 버전을 설치하고 사용할 수 있도록 함.pyenv
를 통해서 파이썬 버전에 대한 의존성을 해결할 수 있다.virtualenv
: 로컬에 다양한 파이썬 환경을 구축할 수 있도록 도와준다. 일반적으로pip install
명령어를 통해서 패키지를 설치한다.autoenv
:autoenv
스크립트를 이용해서 (가상환경으로 설정한) 특정 프로젝트 폴더로 들어가면.env
파일을 찾아서 자동으로 개발 환경을 로딩해준다.
pyenv 설치, 버전확인
pyenv version
: 현재 사용하고 있는 파이썬 버전을 알려준다.pyenv versions
: 로컬에 설치된 파이썬 리스트를 보여준다.pyenv install --list
: 설치할 수 있는 파이썬 리스트를 보여준다.설치는
pyenv install <파이썬 버젼>
으로 입력한다.예제1)
pyenv intall 3.6.1
설치후 pyenv versions 버전 확인결과
*
표시를 통해 현재 사용하고 있는 전역 파이썬 버전을 확인할 수 있다.초기 전역 파이썬 버전은
system
이지만pyenv global <파이썬 버전>
을 통해서 전역 환경 설정을 해줄 수 있다.
예제2)
pyenv global 3.6.1
결과삭제는
pyenv uninstall <파이썬 버전>
으로 입력한다.
pyenv-virtualenv 사용하기
가상환경을 세팅하려면 pyenv
와 virtualenv
는 한몸처럼 움직인다.
만든다
pyenv virtualenv <파이썬 버전> <가상환경 이름>
: 새로운 개발환경을 만든다.설치된 파이썬 버전은
pyenv versions
로 확인할 수 있다.<파이썬 버전>을 생략하면 전역적으로 설정한 파이썬 환경으로 가상환경을 생성한다.
사용한다
pyenv shell <가상환경 이름>
또는pyenv activate <가상환경 이름>
가상환경 이름이 생각이 안난다면
pyenv versions
로 확인할 수 있다.shell
은 Python 버전과 virtualenv 모두 사용가능한 명령어activate
는 virtualenv에서만 사용가능한 명령어
만약, 다시 시스템 전역 파이썬 버전을 사용하고 싶다면pyenv shell system
을 사용하면 된다.
활성화/비활성화 한다
pyenv versions
를 했을때 리스트에 나오는 가상환경들을pyenv shell
명령어로 활성화할 수 있다.만약,
virtualenv
로 만든 가상환경의 경우에는 아래의 명령어를 입력한다.pyenv activate <가상환경 이름>
: 활성화pyenv deactivate
: 비활성화
삭제한다
pyenv uninstall <가상환경 이름>
pip
pip는 파이썬으로 작성된 패키지(라이브러리)를 관리하는 프로그랭이다.
pip는 가상환경마다 파이썬 패키지
를 따로 관리할 수 있도록 도와준다.
만약 사용해야할 라이브러리나 모듈이 있을 경우 pip install <설치모듈>
을 적어주면 된다.
pip 이해하기
pip
는 가상환경별로 서로 다른 패키지 목록을 보여준다.
에졔1
과 예제2
의 패키지 설치 목록이 다르다는 걸 보여준다.
만약 크롤링이 필요하다면 대표적으로 beautifulsoup4
패키지가 필요할 것이고,
웹 개발을 한다고 한다면 대표적으로 Django
패키지가 필요할 것이다.
예제1) 하나는 crawling이라는 가상환경의 pip list를 보여준다.
예제2) 하나는 test라는 가상환경의 pip list를 보여준다.
pip 명령어
우분투 16.04 기준
pip 관련 명령어
pip 설치하기
apt-get install python-pip
pip 업그레이드 하기
pip install --upgarde pip
pip 패키지 관련 명령어
설치된 패키지 전체 목록 부르기
pip list : 자주 쓰는 명령어
업데이트가 필요한 패키지 보기
pip list --outdated
패키지 설치
pip install <패키지 이름>
pip install <패키지 이름>==<버전> : 특정 버전 패키지 설치
pip search <패키지 이름> : 패키지 이름이 확실하지 않은 경우 찾아보기
패키지 업그레이드
pip install --upgrade <패키지 이름> : 2번 명령어와 비슷하다.
패키지 삭제
pip uninstall <패키지 이름>
패키지 이름을 모른다면
pip list
로 확인
패키지 목록 얻기
pip freeze > requirements.txt
.txt
파일로 만들어놓으면 다른 개발환경에서 패키지 전체를 손쉽게 설치 가능pip install -r requirements.txt로 다른 virtualenv에서 쉽게 설치 가능
파이참 인터프리터 설정
파이참 2017. 1 기준
Settings - Project - Project Interpreter - 톱니바퀴 - More 에서 맞는 가상환경을 선택한다.
만약, 새로 추가한 가상환경이 보이지 않는다면
Settings - Project - Project Interpreter - Add local
을 선택한 뒤 스크롤을 아래로 내리면versions
라는 폴더가 있다. 여기서 가상환경 이름을 선택하고,bin 폴더 내 python 파일
을 선택한다.
파이참 unresolved preferences
파이참 IDE를 통해 작업하다보면 unresolved preferences
문제가 발생하는 경우가 있다.
'unresolved preferences' 발생원인
만약 Django
라는 패키지를 가상환경에 설치했다면, 파이참 인터프리터(virtualenv)는 당장 Django
라는 패키지를 인식하지 못한다.
'unresolved preferences' 해결법
Pycharm 2017. 1 버전 기준
작업중인 디렉토리를 Source Root로 지정해준다.
File - Invalid Cashes / Restart
한다.
출처
궁금증
가상환경 파이썬 버전을 확인하면 똑같은 이름이 2개가 있는데 무슨 차이일까?
위에 있는 것은 디렉토리 경로까지, 아래있는 것은 가상환경 이름만 보여준다.
pyenv shell 과 activate 차이?
pyenv activate 명령어는 virtualenv에서 사용가능한 명렁어
가상환경마다 pip가 다르게 설치되는데, 그러면 중복해서 용량이 늘어나는가?
그렇다. 같은 패키지라 할지라도 가상환경은 다르기 때문에 용량이 똑같이 늘어난다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
[파이썬] dict타입을 인덱스로 접근하기 (0) | 2017.10.25 |
---|---|
[파이썬] pyenv, virtualenv 설치 및 가상환경 생성하기 (4) | 2017.09.19 |
[파이썬] 정규표현식(regular expression) (6) | 2017.05.27 |
[파이썬] get/set 속성값과 프로퍼티(property) (3) | 2017.05.23 |
[파이썬] 제너레이터(Generator) 이해하기 (0) | 2017.05.21 |