easy_install과 pip
pip는 easy_install을 대체하기 위해 나왔으며, 몇 가지 장점이 있다고 주장하고 있으나 실제로 쓸 때 와닿는 장점은 uninstall이 가능하다는 것. 심지어 easy_install로 설치한 것도 uninstall할 수 있다.
자신만의 패키지 관리를 한다면 몇 가지 더 신경써야 할 점이 있다. 둘다 site-packages에 패키지를 설치하지만, easy_install은 패키지명-버전-파이썬버전.egg
디렉토리를 만들고 그 안에 패키지를 집어넣은 후, easy-install.pth 파일에 해당 .egg 경로를 추가한다. 그러면 파이썬 import는 .pth 파일을 해석해서 .egg 아래의 패키지를 찾을 수 있다. 반면 pip는 site-packages 디렉토리에 직접 파이썬 패키지를 설치한다. 그래서 pth 조작 없이 바로 import가 가능하다.
또 easy_install은 바이너리 패키지를 설치할 수 있지만 pip는 못한다. 그래서 pip로 설치하게 하고 싶으면 패키지를 sdist로 upload해야 한다.
setuptools와 distribute
setuptools의 예전 버전이 구렸는지 distribute라는 게 나와서 대체하기 시작했는데, 처음에는 setuptools와 같이 설치되서 alias로 덮어서 쓰는 형태였는데, 지금은 distribute가 다시 setuptools에 통합되어 들어가서 그냥 setuptools만 생각하면 된다. virtualenv 가이드에서 간혹 --distribute 같은 옵션을 쓰라고 하는데, 쓸데 없는 짓이다.
PyPI에 내 패키지 올리기
http://pythonhosted.org/an_example_pypi_project/setuptools.html setuptools를 이용해서 PyPI에 패키지를 올리는 법을 찬찬히 읽어보면 나도 파이썬 오픈소스 개발자가 될 수 있다.
Namespace package