Skip to content

Commit 0a7ce8b

Browse files
authored
docs/faq.rst: clarify how constrain_package_deps works (#2902)
1 parent a77d137 commit 0a7ce8b

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

docs/faq.rst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,16 @@ install. While creating a test environment tox will invoke pip multiple times, i
124124
1. install the dependencies of the package.
125125
2. install the package itself.
126126

127-
Starting in tox 4.4.0, ``{env_dir}{/}constraints.txt`` is generated by default during ``install_deps`` based on the
128-
package specifications listed under ``deps``. These constraints are subsequently passed to pip during the
129-
``install_package_deps`` stage, causing an error to be raised when the package dependencies conflict with the test
130-
environment dependencies. For stronger guarantees, set ``use_frozen_constraints = true`` in the test environment to
131-
generate the constraints file based on the exact versions enumerated by the ``list_dependencies_command`` (``pip
132-
freeze``). When using frozen constraints, if the package deps are incompatible with any previously installed
133-
dependency, an error will be raised.
134-
135-
Ensure that ``constrain_package_deps = true`` is set in the test environment in order to use the constraints file
136-
generated by processing the ``deps`` section when performing ``package_deps``.
127+
Starting in tox 4.4.0, when ``constrain_package_deps = true`` is set in the test environment,
128+
``{env_dir}{/}constraints.txt`` will be generated during ``install_deps`` based on the package specifications listed
129+
under ``deps``. These constraints are subsequently passed to pip during the ``install_package_deps`` stage, causing an
130+
error to be raised when the package dependencies conflict with the test environment dependencies.
131+
132+
For stronger guarantees, set ``use_frozen_constraints = true`` in the test environment to generate the constraints file
133+
based on the exact versions enumerated by the ``list_dependencies_command`` (``pip freeze``). When using frozen
134+
constraints, if the package deps are incompatible with any previously installed dependency, an error will be raised.
135+
To use constraints with url, path, or "extras" (``.[tests]``) deps, then you must ``use_frozen_constraints``, as
136+
these types of deps are not valid constraints as specified (see pypa/pip#8210).
137137

138138
Note constraint files are a subset of requirement files. Therefore, it's valid to pass a constraint file wherever you
139139
can specify a requirement file.

0 commit comments

Comments
 (0)