diff --git a/ogscm/cli.py b/ogscm/cli.py
index 2a2980d7515c15ad293eab77e5e22e5cf6af1b3a..079561bceec0cb3af8e8787f52ad93e061053cb2 100644
--- a/ogscm/cli.py
+++ b/ogscm/cli.py
@@ -321,6 +321,9 @@ def main():  # pragma: no cover
                 'neovim', 'gdb', 'silversearcher-ag', 'ssh-client', 'less'
             ])
 
+        if args.pip:
+            Stage0 += pip(packages=args.pip, pip='pip3')
+
         if ogs_version != 'off':
             mount_args = ''
             if args.ccache:
diff --git a/ogscm/cli_args.py b/ogscm/cli_args.py
index f9c8d58f554096286f28cffd824447fa5e4b89f7..90848b7c2fb0a32fe994ea69952095a192572a92 100644
--- a/ogscm/cli_args.py
+++ b/ogscm/cli_args.py
@@ -174,6 +174,12 @@ class Cli_Args(argparse.ArgumentParser):
                                 dest='insitu',
                                 action='store_true',
                                 help='Builds with insitu capabilities')
+        switches_g.add_argument('--pip',
+                               nargs='*',
+                               type=str,
+                               default=[''],
+                               metavar='package',
+                               help='Install additional Python packages')
         maint_g = self.add_argument_group('Maintenance')
         maint_g.add_argument(
             '--clean',