[Python] pip 란 (Package Management System)

2023. 6. 22. 12:34·Programming
728x90
728x90

https://sefiks.com/2020/03/21/publishing-python-packages-on-pip-and-pypi/

정의

pip는 Pip Installs Python를 줄인 말로,

 

Python에서 기본적으로 사용되는 Python package management system임.

pip와 같이, 줄임말이 원래 문장에 다시 들어가 있는 경우를 recursive acronym (or recursice initialism)이라고 부름.
- initialism: 머리글자로 하나의 단어처럼 기재하고, 개별 글자를 하나씩 읽음.
- acronym: 머리글자로 하나의 단어처럼 기재하고, 하나의 단어처럼 읽음.

  • python이 많은 linux 배포판의 패키지 관리자들로 설치시 python3 라는 이름을 사용하는 것과 비슷하게 pip도 pip3로 쓰이는 경우도 많음.
  • 기존의 python 2.x 가 python이라는 명령어로 사용되다보니 python 3.x 는 python3를 사용하는 것임.
과거 easy_install 이라는 설치도구를 대체한 것인 pip이며,
Python 3.4부터는 python을 설치할 때 pip도 같이 설치가 이루어짐.

 

https://ds31x.tistory.com/335

 

[Summary] Package Manager

package란 여러 구성요소를 하나로 묶은 것을 가르킨다.os에서는package는 흔히 설치되는 software를 가르키며이들의 경우 여러 의존성이 있을 수 있기 때문에여러 packages가 묶여서 설치되는 경우 일

ds31x.tistory.com


설명

pip는 Python에서 사용가능한 다양한 package들을 설치 및 제거, 즉 관리하는 소프트웨어이며,
pip가 설치할 수 있는 package들은 Python Package Index (PyPI)에서 관리가 된다.

  • Python Standard Library 외의 다양한 package들을 설치 및 제거할 수 있게 해줌.
  • 각 package간의 의존성을 고려하여 설치 및 제거해주기 때문에,
    python개발자는 pip없이 작업하는 자체가 거의 불가능하다고 할 수 있음 (최소한 대체품이 있어야 함.).
  • pip보다 보다 최적화된 pacakage들을 보다 잘 관리하게 해주는 conda나 mamba와 같은 대체품들이 있으나,
    가장 넓은 범위의 package를 다루는 건 역시 pip임.

즉, Pyton Package Index에서 관리하는 package들을 사용하려면,
pip를 이용하여 사용하고자 하는 시스템에서 설치하면 된다.

 

(Pyton Package Index 외의 다른 repository도 되는 것으로 알고 있지만 실제 사용해본 적은 없어서 이에 대한 설명은 패스... pip 보다는 conda나 mamba를 이용하는터라...)

 

Package Mangement 기능 외에 가상환경 관리도 가능한 conda나 mamba등이
기계학습 분야 등에서는 더 많이 사용되는 편이지만,
pip는 Python의 Standard Package Manager 이기 때문에 그 사용법을 알고 있어야 한다.
(conda등을 사용해도 pip를 통해 설치해야하는 package들이 존재함)

때문에 venv (Python3 부터 표준 가상환경관리툴)와 같이 자주 사용됨.

Python Package Index (PyPI)

공식 site : https://pypi.org/

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

Python 개발에 필요한 거의 모든 package와 module들이 모여있는 repository임.

  • 주로 사전 컴파일 된 wheels라는 형식으로 배포됨.

일명 치즈 가게라고도 불림.


설치방법

거의 기본으로 설치가 되어 있으나, 혹여라도 문제가 있다면 다음 url을 참고하여 설치하면 됨.

https://packaging.python.org/en/latest/tutorials/installing-packages/

 

Installing Packages — Python Packaging User Guide

Installing Packages This section covers the basics of how to install Python packages. It’s important to note that the term “package” in this context is being used to describe a bundle of software to be installed (i.e. as a synonym for a distribution)

packaging.python.org


사용방법

https://ds31x.tistory.com/16

 

[Python] pip 사용법

다음은 pip (Pip Install Python or Installer for Python)의 사용법을 간략히 정리해둔 것임. https://dsaint31.tistory.com/entry/Python-pip-%EB%9E%80-Package-Management-System [Python] pip 란 (Package Management System) pip는 Pip Installs Pyt

ds31x.tistory.com


대체품(?): conda

https://ds31x.blogspot.com/2023/07/env-conda-anaconda-and-miniconda.html

 

[Env] conda : Anaconda and Miniconda

Conda는 open-source package and environment management system임. pip처럼 package management system이면서 venv처럼 environment management system임. 참고 ...

ds31x.blogspot.com

https://ds31x.tistory.com/376

 

[Tool] conda 사용법 - Anaconda and Miniconda

1. Conda란?프로그래밍 언어(특히 Python)의 패키지, 종속성을 관리하기 위한 오픈 소스 패키지 관리 시스템(or Package Manager)과이들이 설치되어 구성되는 (가상)환경을 관리하는 환경 관리 시스템임.co

ds31x.tistory.com

 

 

'Programming' 카테고리의 다른 글

[Python] Regular Expression : re 요약  (0) 2023.07.03
[Python] str : Overloaded Operators  (0) 2023.07.02
[Python] Basic Methods of String  (0) 2023.06.21
[Python] f-String  (1) 2023.06.21
[Python] Assignment (Basic)  (0) 2023.06.20
'Programming' 카테고리의 다른 글
  • [Python] Regular Expression : re 요약
  • [Python] str : Overloaded Operators
  • [Python] Basic Methods of String
  • [Python] f-String
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (738)
      • Private Life (13)
      • Programming (56)
        • DIP (104)
        • ML (26)
      • Computer (118)
        • CE (52)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (349)
        • Signals and Systems (103)
        • Math (169)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    SS
    function
    Optimization
    Probability
    Vector
    Convolution
    random
    인허가제도
    opencv
    SIGNAL
    signals_and_systems
    fourier transform
    검사
    linear algebra
    Programming
    numpy
    Python
    Term
    signal_and_system
    math
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[Python] pip 란 (Package Management System)
상단으로

티스토리툴바