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 -t, --target <dir>
50 Install packages into <dir>. By default this will not replace
51 existing files/folders in <dir>. Use --upgrade to replace exist‐
52 ing packages in <dir> with new versions.
53
54 --platform <platform>
55 Only use wheels compatible with <platform>. Defaults to the
56 platform of the running system. Use this option multiple times
57 to specify multiple platforms supported by the target inter‐
58 preter.
59
60 --python-version <python_version>
61 The Python interpreter version to use for wheel and "Re‐
62 quires-Python" compatibility checks. Defaults to a version de‐
63 rived from the running interpreter. The version can be specified
64 using up to three dot-separated integers (e.g. "3" for 3.0.0,
65 "3.7" for 3.7.0, or "3.7.3"). A major-minor version can also be
66 given as a string without dots (e.g. "37" for 3.7.0).
67
68 --implementation <implementation>
69 Only use wheels compatible with Python implementation <implemen‐
70 tation>, e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then
71 the current interpreter implementation is used. Use 'py' to
72 force implementation-agnostic wheels.
73
74 --abi <abi>
75 Only use wheels compatible with Python abi <abi>, e.g.
76 'pypy_41'. If not specified, then the current interpreter abi
77 tag is used. Use this option multiple times to specify multiple
78 abis supported by the target interpreter. Generally you will
79 need to specify --implementation, --platform, and --python-ver‐
80 sion when using this option.
81
82 --user Install to the Python user install directory for your platform.
83 Typically ~/.local/, or %APPDATA%Python on Windows. (See the
84 Python documentation for site.USER_BASE for full details.)
85
86 --root <dir>
87 Install everything relative to this alternate root directory.
88
89 --prefix <dir>
90 Installation prefix where lib, bin and other top-level folders
91 are placed
92
93 --src <dir>
94 Directory to check out editable projects into. The default in a
95 virtualenv is "<venv path>/src". The default for global installs
96 is "<current dir>/src".
97
98 -U, --upgrade
99 Upgrade all specified packages to the newest available version.
100 The handling of dependencies depends on the upgrade-strategy
101 used.
102
103 --upgrade-strategy <upgrade_strategy>
104 Determines how dependency upgrading should be handled [default:
105 only-if-needed]. "eager" - dependencies are upgraded regardless
106 of whether the currently installed version satisfies the re‐
107 quirements of the upgraded package(s). "only-if-needed" - are
108 upgraded only when they do not satisfy the requirements of the
109 upgraded package(s).
110
111 --force-reinstall
112 Reinstall all packages even if they are already up-to-date.
113
114 -I, --ignore-installed
115 Ignore the installed packages, overwriting them. This can break
116 your system if the existing package is of a different version or
117 was installed with a different package manager!
118
119 --ignore-requires-python
120 Ignore the Requires-Python information.
121
122 --no-build-isolation
123 Disable isolation when building a modern source distribution.
124 Build dependencies specified by PEP 518 must be already in‐
125 stalled if this option is used.
126
127 --use-pep517
128 Use PEP 517 for building source distributions (use
129 --no-use-pep517 to force legacy behaviour).
130
131 --install-option <options>
132 Extra arguments to be supplied to the setup.py install command
133 (use like --install-option="--install-scripts=<sys.prefix>/lo‐
134 cal/bin"). Use multiple --install-option options to pass multi‐
135 ple options to setup.py install. If you are using an option with
136 a directory path, be sure to use absolute path.
137
138 --global-option <options>
139 Extra global options to be supplied to the setup.py call before
140 the install or bdist_wheel command.
141
142 --compile
143 Compile Python source files to bytecode
144
145 --no-compile
146 Do not compile Python source files to bytecode
147
148 --no-warn-script-location
149 Do not warn when installing scripts outside PATH
150
151 --no-warn-conflicts
152 Do not warn about broken dependencies
153
154 --no-binary <format_control>
155 Do not use binary packages. Can be supplied multiple times, and
156 each time adds to the existing value. Accepts either ":all:" to
157 disable all binary packages, ":none:" to empty the set (notice
158 the colons), or one or more package names with commas between
159 them (no colons). Note that some packages are tricky to compile
160 and may fail to install when this option is used on them.
161
162 --only-binary <format_control>
163 Do not use source packages. Can be supplied multiple times, and
164 each time adds to the existing value. Accepts either ":all:" to
165 disable all source packages, ":none:" to empty the set, or one
166 or more package names with commas between them. Packages without
167 binary distributions will fail to install when this option is
168 used on them.
169
170 --prefer-binary
171 Prefer older binary packages over newer source packages.
172
173 --require-hashes
174 Require a hash to check each requirement against, for repeatable
175 installs. This option is implied when any package in a require‐
176 ments file has a --hash option.
177
178 --progress-bar <progress_bar>
179 Specify type of progress to be displayed
180 [off|on|ascii|pretty|emoji] (default: on)
181
182 --no-clean
183 Don't clean up build directories.
184
185
187 pip developers
188
190 The pip developers
191
192
193
194
19521.3 Jan 21, 2022 PIP-INSTALL(1)