Skip to content

Instantly share code, notes, and snippets.

@jjangga0214
Last active July 3, 2018 15:42
Show Gist options
  • Save jjangga0214/0afc135e3e155be0d27ece24afe7eebf to your computer and use it in GitHub Desktop.
Save jjangga0214/0afc135e3e155be0d27ece24afe7eebf to your computer and use it in GitHub Desktop.
python 프로젝트의 의존성 설정

py-dependency

PIP

pip commands

  • package 설치 :
pip install <package>

ex) sudo -H pip install numpy

  • package 업그레이드
pip install <package> --upgrade
  • 현재 설치된 package 보기
pip freeze

활용) 현재 설치된 package 의 리스트를 공유하는 경우 :
sudo -H pip freeze > dependancies.txt 로 dependancies 파일을 만들고 공유한다.

유의점

  • 권한 : sudo -H 를 붙여준다.
sudo -H 

Anaconda

  • 프로젝트별 가상환경
    • python interpreter version
    • package version
  • conda 환경에서도 pip 사용가능

conda commands

cheetsheet

가상환경

  • 가상환경 만들기
conda create --name <env-name> [<list-of-packages>] [<python=version>]

ex) conda create --name my-tensorflow-practice cython python=3.6

  • 가상환경 제거
conda env remove -n <env-name>
  • 가상환경 활성화
source activate <env-name>
  • 가상환경 비활성화
source deactivate
  • 가상환경 정보(디렉토리 등) 보기
conda info --env
  • 가상환경 export
conda env export

활용) 현재 설치된 package 의 리스트를 공유하는 경우 :
conda env export > environment.yml

  • 가상환경 불러오기
conda env create -f <environment.yml>

이때, <environment.yml> 은 위에서 export 한 내용과 같다.

package

  • package 설치 : pip 와는 달리 anaconda 에 등록된 패키지에 한한다.
conda install <package>
  • pacakage 보기
conda list 

유의점

  • tensorflow : tensorflow 팀은 Anaconda 환경에서도 conda install 보다는 pip install 을 권장하고 있다.
  • 업그레이드
    • conda
      conda upgrade conda &&
          conda upgrade --all
      

Anaconda 를 사용한 project 구성 : PyCharm 과의 연동

독립적인 프로젝트를 만들기 위해 프로젝트 별로 가상환경을 생성한다.

conda create --name <my-new-project> cython python=3.6

그 후 다음 명령어로 가상환경이 저장된 디렉토리의 위치를 알 수 있다.

conda info --env

해당 가상환경의 interpreter 나 pip 등은 가상환경이 저장된 디렉토리의 bin 디렉토리에 있다.

source activate <my-new-project> 로 해당 쉘에서 가상환경을 활성화하여 설정 준비를 한다.
conda 가 지원하기에 적절한 패키지는 conda install <package> 로 설치한다. 예를 들어 많은 패키지에서 요구하는 cython(conda install cython) 등이 있다.
그렇지 않은 경우는 pip 를 사용한다. 이때, pip 는 시스템의 pip 가 아니라 anaconda 의 가상환경의 pip 를 사용해야 하므로, conda info --env 를 통해 확인한 경로로 들어가야 한다.

예시

(참고: tensorflow 설치를 위해 미리 conda install cython을 해준다.)

cd /opt/anaconda3/envs/mama-tensorflow-practice/bin
./pip install tensorflow

가상환경을 deactivate(source deactivate) 해준다.

PyCharm 에서 project interpreter(ctrl + shift +a => project interpreter) 를 conda info --env 로 확인한 원하는 가상환경의 경로 안의 bin 디렉토리 안의 python3 링크 인터프리터로 설정해준다.
(예시 : /opt/anaconda3/envs/mama-tensorflow-practice/bin/python3 )

PIP 명령어 설정

pip3 가 설치되었는데도(sudo apt-get install python3-pip) pip3 명령어가 등록되지 않은 상태(Not Found : 명령을 찾을 수 없습니다.)라면,

locate pip3

를 통해 원하는 버전의 pip 가 설지된 위치를 찾고, /usr/local/bin 으로 가서 링크를 추가해준다.

예시
cd /usr/local/bin
ln -s /home/user/.local/bin/pip3.6 /usr/local/bin/pip3
링크

https://gist.github.com/jjangga0214/0afc135e3e155be0d27ece24afe7eeb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment