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