379

I know it's an easy way of doing it but i didn't find it neither here nor on google. So i was curious if there is a way to install multiple packages using pip. Something like:

pip install progra1 , progra2 ,progra3 ,progra4 . 

or:

pip install (command to read some txt containing the name of the modules) 

9 Answers 9

534

For installing multiple packages on the command line, just pass them as a space-delimited list, e.g.:

pip install wsgiref boto

For installing from a text file, then, from pip install --help:

-r FILENAME, --requirement=FILENAME

Install all the packages listed in the given requirements file. This option can be used multiple times.

Take a look at the pip documentation regarding requirements files for their general layout and syntax - note that you can generate one based on current environment / site-packages with pip freeze if you want a quick example - e.g. (based on having installed wsgiref and boto in a clean virtualenv):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2
Sign up to request clarification or add additional context in comments.

2 Comments

"space-delimited list" does not seem to work for me if there are dependencies between the packages, eg: sudo -H pip install setuptools trezor causes this error: "Could not import setuptools which is required to install from a source distribution. Please install setuptools.". Instead, I need to run as 2 separate commands.
Does this pip install wsgiref boto install the libraries with their dependencies as well?
155
pip install -r requirements.txt

and in the requirements.txt file you put your modules in a list, with one item per line.

  • Django=1.3.1

  • South>=0.7

  • django-debug-toolbar

5 Comments

How can I do the same using conda? any idea? conda intsall -r requirements.txt does not work.
Do you have to specify the version #? In other words, if you just put Django on one line, would it automatically install the latest version?
You don't have to specify a version number, and generally don't need to, though which version exactly pip then installs is sometimes hard to predict, especially if you have configured pip with multiple source indices and/or configuration options which constrain which packages can be installed. A common need is to specify a minimum version requirement, like pip >= 9.0
You need a double == rather than one =
35

On the command line if you have a few packages to install, You may just do

pip install <package_1> <package_2>

Thanks,

Comments

21

You can install packages listed in a text file called requirements file. For example, if you have a file called req.txt containing the following text:

Django==1.4
South==0.7.3

and you issue at the command line:

pip install -r req.txt

pip will install packages listed in the file at the specific revisions.

1 Comment

Must I specify the version or can I just have Django on its own line and expect to get the latest version? Thanks.
16

You can use the following steps:

Step 1: Create a requirements.txt with list of packages to be installed. If you want to copy packages in a particular environment, do this

pip freeze >> requirements.txt

else store package names in a file named requirements.txt

Step 2: Execute pip command with this file

pip install -r requirements.txt

Comments

6

Complementing the other answers, you can use the option --no-cache-dir to disable caching in pip. My virtual machine was crashing when installing many packages at once with pip install -r requirements.txt. What solved for me was:

pip install --no-cache-dir -r requirements.txt

Comments

1

You can simply place multiple name together separated by a white space like

C:\Users\Dell>pip install markdown django-filter

#c:\Users\Dell is path in my pc this can be anything on yours

this installed markdown and django-filter on my device. enter image description here

1 Comment

Doesn't add anything new, compared to the already accepted answer.
0

give the same command as you used to give while installing a single module only pass it via space delimited format

Comments

0

in the Jupyter kernel :

!py -3.11 -m pip install numpy pandas persiantools

3 Comments

There is an more modern user-friendly and consistent way inside Jupyter. In your example case, you'd run %pip install numpy pandas persiantools. See here about the modern magic install commands for use inside cells in Jupyter notebooks that insure installation in the proper environment underlying the kernel. Please recommend current best practices.
I think this is a very inefficient way to install multiple packages i.e. using a requirements file. An environment file to install using conda i.e .XML environment file
As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.