Why is used -m in command?

Md Sadiqul Islam
2 min readFeb 27, 2023

The -m option in the python command is used to run a module as a script. In other words, it allows you to run a Python module as if it were a standalone program.

In the case of python -m pip install django, the -m pip part tells Python to run the pip module as a script, and the install django part is the argument passed to the pip module, telling it to install the Django package.

Using -m to run a module as a script has a few advantages over running the module directly with python module.py. For example:

  1. It ensures that the module is executed with the correct version of Python. If you have multiple versions of Python installed on your system, using -m ensures that the module is executed with the version of Python that you're currently running.
  2. It allows you to run modules that are not in your current working directory. When you use -m, Python looks for the module in the Python path, which includes the standard library and any other directories that you've added to the path. This means that you can run modules from anywhere on your system, as long as they're installed and in the Python path.
  3. It can be more convenient for one-time commands. If you only need to run a module once, using -m is a quick and easy way to do it without having to create a separate script file.

In summary, using -m to run a module as a script is a convenient and flexible way to execute Python code, particularly for packages like pip that are designed to be run from the command line.

--

--