implementation - python

python 관리

2020. 8. 29. 21:47

특별한 이유가 없다면 python 설치와 관리는 Anaconda를 사용하는 것이 편리하다.

설치 상의 어려움도 없고 특히 conda environment는 관리도 간편하다.

Virtual environment의 필요성을 딱히 느끼지 못하다가 

pymc를 설치하면서 therano와 씨름하다가 OS를 새로 깔았던 적이 있다.

이때 처음으로 conda environment를 사용하였는데 지금은 별 필요를 느끼지 못한다.

 

오래 전에 만들었던 code나 web에서 가져온 시간이 지난 code를 실행시키다보면

DeprecationWarning이나 module ... has no attribute ... 같은 오류를 볼 수 있다.

굳이 여러가지 version을 관리해야 하는 것이 아니라면 그때그때 손을 보는 것이 간편하다.

다만 이 경우에는 package들 사이에 compatibility를 확인하면서 개별 프로그램들을 update해야 한다.

예를 들어, 2021년 3월 1일 현재 tensorflow는 python 3.9를 지원하지 않으며, cuda 11을 사용하려면 tensorflow 2.4이상이 필요하다.

 

1. Package 관리

설치한 package들을 정기적으로 update해 주면 최신 기능을 사용할 수 있지만 앞선 언급한 것과 같이 package간의 호환성 문제가 있다. 참고로 Pandas는 1.0, Sklearn은 0.20, Tensorflow는 2.0 부터 이전 version들과 많이 다르다.

 

conda update --all

 

각 package들 사이의 compatibility를 유지하려면 conda로 설치하고 update하는 것이 편하다.

 

2. 같이 설치할 것들

1. C compiler

C++ complier를 필요로 하는 package들이 있다.

Window에선 Microsoft Visual Studio 14 이상을 를 설치하면 된다고 한다. (2021년 6월)

 

 

설치 전에 setuptools를 설치하거나 update해 주어야 complier를 자동으로 사용할 수 있다.

(The setuptools Python package version must be at least 34.4.0.)

 

pip install --upgrade setuptools

 

2. Java & Java Development Kit

 

Java Development kit을 설치하면 Java 프로그램을 python에서 실행시킬 수도 있다.

최근에  Oracle JDK License 조항들이 바뀌면서 설치를 위해선 회원가입이 필수가 되었다.

설치 후 JAVA_HOME path를  지정해 주어야 한다.