You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/_index.md
+95-97
Original file line number
Diff line number
Diff line change
@@ -23,18 +23,85 @@ on Linux, macOS and Windows.
23
23
24
24
## Installation
25
25
26
+
{{% warning %}}
27
+
Poetry should always be installed in a dedicated virtual environment to isolate it from the rest of your system.
28
+
In no case, it should be installed in the environment of the project that is to be managed by Poetry.
29
+
This ensures that Poetry's own dependencies will not be accidentally upgraded or uninstalled.
30
+
(Each of the following installation methods ensures that Poetry is installed into an isolated environment.)
31
+
{{% /warning %}}
32
+
26
33
{{% note %}}
27
34
If you are viewing documentation for the development branch, you may wish to install a preview or development version of Poetry.
28
35
See the **advanced** installation instructions to use a preview or alternate version of Poetry.
29
36
{{% /note %}}
30
37
31
-
{{< tabs tabTotal="4" tabID1="installing-with-the-official-installer" tabID2="installing-with-pipx" tabID3="installing-manually" tabID4="ci-recommendations" tabName1="With the official installer" tabName2="With pipx" tabName3="Manually (advanced)" tabName4="CI recommendations">}}
38
+
{{< tabs tabTotal="4" tabID1="installing-with-pipx" tabID2="installing-with-the-official-installer" tabID3="installing-manually" tabID4="ci-recommendations" tabName1="With pipx" tabName2="With the official installer" tabName3="Manually (advanced)" tabName4="CI recommendations">}}
39
+
40
+
{{< tab tabID="installing-with-pipx" >}}
41
+
42
+
[`pipx`](https://github.com/pypa/pipx) is used to install Python CLI applications globally while still isolating them in virtual environments.
43
+
`pipx` will manage upgrades and uninstalls when used to install Poetry.
44
+
45
+
{{< steps >}}
46
+
{{< step >}}
47
+
**Install Poetry**
48
+
49
+
```bash
50
+
pipx install poetry
51
+
```
52
+
{{< /step >}}
53
+
{{< step >}}
54
+
**Install Poetry (advanced)**
55
+
56
+
`pipx` can install different versions of Poetry, using the same syntax as pip:
57
+
58
+
```bash
59
+
pipx install poetry==1.2.0
60
+
```
61
+
62
+
`pipx` can also install versions of Poetry in parallel, which allows for easy testing of alternate or prerelease
63
+
versions. Each version is given a unique, user-specified suffix, which will be used to create a unique binary name:
Copy file name to clipboardExpand all lines: docs/faq.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -163,7 +163,7 @@ In this case, you can disable this feature by setting the `virtualenvs.create` s
163
163
poetry config virtualenvs.create false
164
164
```
165
165
166
-
### Why is Poetry telling me that the current project's Python requirement is not compatible with one or more packages' Python requirements?
166
+
### Why is Poetry telling me that the current project's supported Python range is not compatible with one or more packages' Python requirements?
167
167
168
168
Unlike `pip`, Poetry doesn't resolve for just the Python in the current environment. Instead it makes sure that a dependency
169
169
is resolvable within the given Python version range in `pyproject.toml`.
@@ -179,18 +179,18 @@ This means your project aims to be compatible with any Python version >=3.7,<4.0
179
179
whose Python requirement doesn't match the whole range Poetry will tell you this, e.g.:
180
180
181
181
```
182
-
The current project's Python requirement (>=3.7.0,<4.0.0) is not compatible with some of the required packages Python requirement:
182
+
The current project's supported Python range (>=3.7.0,<4.0.0) is not compatible with some of the required packages Python requirement:
183
183
- scipy requires Python >=3.7,<3.11, so it will not be satisfied for Python >=3.11,<4.0.0
184
184
```
185
185
186
-
Usually you will want to match the Python requirement of your project with the upper bound of the failing dependency.
187
-
Alternative you can tell Poetry to install this dependency [only for a specific range of Python versions]({{< relref "dependency-specification#multiple-constraints-dependencies" >}}),
186
+
Usually you will want to match the supported Python range of your project with the upper bound of the failing dependency.
187
+
Alternatively you can tell Poetry to install this dependency [only for a specific range of Python versions]({{< relref "dependency-specification#multiple-constraints-dependencies" >}}),
188
188
if you know that it's not needed in all versions.
189
189
190
190
191
191
### Why does Poetry enforce PEP 440 versions?
192
192
193
-
This is done so to be compliant with the broader Python ecosystem.
193
+
This is done to be compliant with the broader Python ecosystem.
194
194
195
195
For example, if Poetry builds a distribution for a project that uses a version that is not valid according to
196
196
[PEP 440](https://peps.python.org/pep-0440), third party tools will be unable to parse the version correctly.
0 commit comments