Can pypoetry install only the dependency that I ask it to add?

Viewed 1308

When running poetry add package, poetry decides to update some out of date dependencies without my asking:

$ poetry add -D ipython
Using version ^7.26.0 for ipython

Updating dependencies
Resolving dependencies... (6.8s)

Writing lock file

Package operations: 13 installs, 2 updates, 0 removals

  • Installing ipython-genutils (0.2.0)
  • Installing parso (0.8.2)
  • Installing ptyprocess (0.7.0)
  • Installing traitlets (5.0.5)
  • Installing wcwidth (0.2.5)
  • Installing appnope (0.1.2)
  • Installing backcall (0.2.0)
  • Updating connexion (2.8.0 -> 2.9.0) <---------- "I never asked for this"
  • Installing jedi (0.18.0)
  • Installing matplotlib-inline (0.1.2)
  • Installing pexpect (4.8.0)
  • Installing pickleshare (0.7.5)
  • Installing prompt-toolkit (3.0.19)
  • Installing ipython (7.26.0)
  • Updating ramda (0.6.0 -> 0.6.1) <---------- "I never asked for this"

And yet when getting the help for the command, there doesn't seem to be anything that suggest that it's possible to disable this behaviour:

$ poetry add --help
USAGE
  poetry add [-D] [-E <...>] [--optional] [--python <...>]
             [--platform <...>] [--source <...>] [--allow-prereleases]
             [--dry-run] [--lock] <name1> ... [<nameN>]

ARGUMENTS
  <name>                 The packages to add.

OPTIONS
  -D (--dev)             Add as a development dependency.
  -E (--extras)          Extras to activate for the dependency.
                         (multiple values allowed)
  --optional             Add as an optional dependency.
  --python               Python version for which the dependency must be
                         installed.
  --platform             Platforms for which the dependency must be
                         installed.
  --source               Name of the source to use to install the
                         package.
  --allow-prereleases    Accept prereleases.
  --dry-run              Output the operations but do not execute
                         anything (implicitly enables --verbose).
  --lock                 Do not perform operations (only update the
                         lockfile).

GLOBAL OPTIONS
  -h (--help)            Display this help message
  -q (--quiet)           Do not output any message
  -v (--verbose)         Increase the verbosity of messages: "-v" for
                         normal output, "-vv" for more verbose output and
                         "-vvv" for debug
  -V (--version)         Display this application version
  --ansi                 Force ANSI output
  --no-ansi              Disable ANSI output
  -n (--no-interaction)  Do not ask any interactive question

...

Any way to install only the package of interest? I prefer not to update deps, even if the bump is a minor bump - dependabot exists for this purpose already.

0 Answers
Related