1PIP-INSTALL(1) pip PIP-INSTALL(1)
2
3
4
6 pip-install - description of pip install command
7
8 IMPORTANT:
9 Did this article help?
10
11 We are currently doing research to improve pip's documentation and
12 would love your feedback. Please email us and let us know why you
13 came to this page and what on it helped you and what did not. (‐
14 Read more about this research)
15
17 Install packages from:
18
19 • PyPI (and other indexes) using requirement specifiers.
20
21 • VCS project urls.
22
23 • Local project directories.
24
25 • Local or remote source archives.
26
27 pip also supports installing from "requirements files", which provide
28 an easy way to specify a whole environment to be installed.
29
30
32 python -m pip install [options] <requirement specifier> [package-index-options] ...
33 python -m pip install [options] -r <requirements file> [package-index-options] ...
34 python -m pip install [options] [-e] <vcs project url> ...
35 python -m pip install [options] [-e] <local project path> ...
36 python -m pip install [options] <archive url/path> ...
37
39 -r, --requirement <file>
40 Install from the given requirements file. This option can be
41 used multiple times.
42
43 -c, --constraint <file>
44 Constrain versions using the given constraints file. This option
45 can be used multiple times.
46
47 --no-deps
48 Don't install package dependencies.
49
50 --pre Include pre-release and development versions. By default, pip
51 only finds stable versions.
52
53 -e, --editable <path/url>
54 Install a project in editable mode (i.e. setuptools "develop
55 mode") from a local project path or a VCS url.
56
57 -t, --target <dir>
58 Install packages into <dir>. By default this will not replace
59 existing files/folders in <dir>. Use --upgrade to replace exist‐
60 ing packages in <dir> with new versions.
61
62 --platform <platform>
63 Only use wheels compatible with <platform>. Defaults to the
64 platform of the running system. Use this option multiple times
65 to specify multiple platforms supported by the target inter‐
66 preter.
67
68 --python-version <python_version>
69 The Python interpreter version to use for wheel and "Re‐
70 quires-Python" compatibility checks. Defaults to a version de‐
71 rived from the running interpreter. The version can be specified
72 using up to three dot-separated integers (e.g. "3" for 3.0.0,
73 "3.7" for 3.7.0, or "3.7.3"). A major-minor version can also be
74 given as a string without dots (e.g. "37" for 3.7.0).
75
76 --implementation <implementation>
77 Only use wheels compatible with Python implementation <implemen‐
78 tation>, e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then
79 the current interpreter implementation is used. Use 'py' to
80 force implementation-agnostic wheels.
81
82 --abi <abi>
83 Only use wheels compatible with Python abi <abi>, e.g.
84 'pypy_41'. If not specified, then the current interpreter abi
85 tag is used. Use this option multiple times to specify multiple
86 abis supported by the target interpreter. Generally you will
87 need to specify --implementation, --platform, and --python-ver‐
88 sion when using this option.
89
90 --user Install to the Python user install directory for your platform.
91 Typically ~/.local/, or %APPDATA%Python on Windows. (See the
92 Python documentation for site.USER_BASE for full details.)
93
94 --root <dir>
95 Install everything relative to this alternate root directory.
96
97 --prefix <dir>
98 Installation prefix where lib, bin and other top-level folders
99 are placed
100
101 --src <dir>
102 Directory to check out editable projects into. The default in a
103 virtualenv is "<venv path>/src". The default for global installs
104 is "<current dir>/src".
105
106 -U, --upgrade
107 Upgrade all specified packages to the newest available version.
108 The handling of dependencies depends on the upgrade-strategy
109 used.
110
111 --upgrade-strategy <upgrade_strategy>
112 Determines how dependency upgrading should be handled [default:
113 only-if-needed]. "eager" - dependencies are upgraded regardless
114 of whether the currently installed version satisfies the re‐
115 quirements of the upgraded package(s). "only-if-needed" - are
116 upgraded only when they do not satisfy the requirements of the
117 upgraded package(s).
118
119 --force-reinstall
120 Reinstall all packages even if they are already up-to-date.
121
122 -I, --ignore-installed
123 Ignore the installed packages, overwriting them. This can break
124 your system if the existing package is of a different version or
125 was installed with a different package manager!
126
127 --ignore-requires-python
128 Ignore the Requires-Python information.
129
130 --no-build-isolation
131 Disable isolation when building a modern source distribution.
132 Build dependencies specified by PEP 518 must be already in‐
133 stalled if this option is used.
134
135 --use-pep517
136 Use PEP 517 for building source distributions (use
137 --no-use-pep517 to force legacy behaviour).
138
139 --install-option <options>
140 Extra arguments to be supplied to the setup.py install command
141 (use like --install-option="--install-scripts=<sys.prefix>/lo‐
142 cal/bin"). Use multiple --install-option options to pass multi‐
143 ple options to setup.py install. If you are using an option with
144 a directory path, be sure to use absolute path.
145
146 --global-option <options>
147 Extra global options to be supplied to the setup.py call before
148 the install command.
149
150 --compile
151 Compile Python source files to bytecode
152
153 --no-compile
154 Do not compile Python source files to bytecode
155
156 --no-warn-script-location
157 Do not warn when installing scripts outside PATH
158
159 --no-warn-conflicts
160 Do not warn about broken dependencies
161
162 --no-binary <format_control>
163 Do not use binary packages. Can be supplied multiple times, and
164 each time adds to the existing value. Accepts either ":all:" to
165 disable all binary packages, ":none:" to empty the set (notice
166 the colons), or one or more package names with commas between
167 them (no colons). Note that some packages are tricky to compile
168 and may fail to install when this option is used on them.
169
170 --only-binary <format_control>
171 Do not use source packages. Can be supplied multiple times, and
172 each time adds to the existing value. Accepts either ":all:" to
173 disable all source packages, ":none:" to empty the set, or one
174 or more package names with commas between them. Packages without
175 binary distributions will fail to install when this option is
176 used on them.
177
178 --prefer-binary
179 Prefer older binary packages over newer source packages.
180
181 --require-hashes
182 Require a hash to check each requirement against, for repeatable
183 installs. This option is implied when any package in a require‐
184 ments file has a --hash option.
185
186 --progress-bar <progress_bar>
187 Specify type of progress to be displayed
188 [off|on|ascii|pretty|emoji] (default: on)
189
190 --no-clean
191 Don't clean up build directories.
192
193
194 IMPORTANT:
195 Did this article help?
196
197 We are currently doing research to improve pip's documentation and
198 would love your feedback. Please email us and let us know:
199
200 1. What problem were you trying to solve when you came to this page?
201
202 2. What content was useful?
203
204 3. What content was not useful?
205
207 pip developers
208
210 2008-2021, PyPA
211
212
213
214
21521.0 May 17, 2021 PIP-INSTALL(1)