What is the difference among pip, pip3 and mim

Definition and Comparison
이민석's avatar
Nov 30, 2023
What is the difference among pip, pip3 and mim

Introduction

The difinition of the 3 package managers available in the Python ecosystem and a difference among them.

  • What is the pip?

  • What is the pip3?

  • What is the mim?

What is the pip?

The pip is basic package manager for python 2.x.

  • Install Modules

    pip install <MODULE_NAME>
  • List-up Modules

    pip list
  • Install Modules with package list-up file.

    pip install -r requirements.txt
  • Export package list-up file.

    pip freeze > requirements.txt

What is the pip3?

The pip3 is basic package manager for python 3.x.

  • Install Modules

    pip3 install <MODULE_NAME>
  • List-up Modules

    pip3 list
  • Install Modules with package list-up file.

    pip3 install -r requirements.txt
  • Export package list-up file.

    pip3 freeze > requirements.txt

What is the mim?

The mim is basic package manager for OpenMMLab Project and Models.

  • Install Modules

    mim install <MODULE_NAME>
  • Install Modules from Binary Files

    
    git clone https://github.com/open-mmlab/mmclassification.git
    cd mmclassification
    mim install .
  • List-up Modules

    mim list
    mim list --all

OpenMMLab Projects
References | https://github.com/open-mmlab/mim

What is the difference between pip and pip3?

As you can see from the above section, the 2 package managers were created for different versions of python

  • Pip : Python 2.x

  • Pip3 : Python 3.x

However, contrary to the basic definition, there's not difference between pip, pip3 or pip3.8. On most Linux, Ubuntu, and other operating systems, pip, pip3, and pip3.8 are the same script, and can be symbolically linked to point to different versions of python.

In the example below, you can tell pip to install modules for python 3.x rather than python 2.x when invoked.

  • Install Basic Modules

    apt install python-pip
    apt install python3-pip
    
    apt install python3.8
    aapt install update-alternatives
  • Check symbolic link

    ls -al /usr/bin/python
  • Update alternatives

    update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
    
    update-alternatives --config python
  • Check synbolic link

    ls -al /usr/bin/python

What is the difference between pip/pip3 and mim?

The mim also performs Python based library installations.

However, mim is one of the more specialized tools involved in installing OpenMMLab Project.

This means that you may find yourself using PIP and MIM at the same time, and you may encounter version conflicts between modules.

Critical Vendering Issue with pip/pip3 and mim.

If you use pip, pip3, pip3.8, and mim in a variety of environments, there is a high probability that you will encounter version conflicts. Since these package managers don't have good support for version locking, you'll need a special technique.

There are two ways to do this

  1. Storing all the individual module files in S3

  2. Use Packer to create an AMI image and configure deployment automation based on it.Packer를 이용하여 AMI 이미지를 생성하고 이를 기반으로 배포 자동화를 구성하는 방법

Share article
RSSPowered by inblog