question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Poetry install removes packages that are necessary

See original GitHub issue
  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have searched the documentation and believe that my question is not covered.

Issue

poetry install removes packages that are not supposed to be removed. I’m using Poetry in a Dockerfile to install the dependencies of my project. Before that, the parent image has also installed some dependencies that are necessary.

$ poetry config virtualenvs.create false && poetry install --no-dev --no-interaction -vvv

  • Removing colorama (0.4.3): Skipped for the following reason: Not currently installed
  • Removing dnspython (1.16.0): Skipped for the following reason: Not currently installed
  • Removing colorclass (2.2.0): Skipped for the following reason: Not currently installed
  • Removing future (0.18.2): Skipped for the following reason: Not currently installed
  • Removing cycler (0.10.0): Skipped for the following reason: Not currently installed
  • Removing google-auth (1.22.1): Skipped for the following reason: Not currently installed
  • Removing decorator (4.4.2): Skipped for the following reason: Not currently installed
  • Removing docopt (0.6.2): Skipped for the following reason: Not currently installed
  • Removing fbmessenger (6.0.0): Skipped for the following reason: Not currently installed
  • Removing gast (0.2.2): Skipped for the following reason: Not currently installed
  • Removing gevent (1.5.0): Skipped for the following reason: Not currently installed
  • Removing google-auth-oauthlib (0.4.1): Skipped for the following reason: Not currently installed
  • Removing google-pasta (0.2.0): Skipped for the following reason: Not currently installed
  • Removing greenlet (0.4.17): Skipped for the following reason: Not currently installed
  • Removing grpcio (1.32.0): Skipped for the following reason: Not currently installed
  • Removing h5py (2.10.0): Skipped for the following reason: Not currently installed
  • Removing httplib2 (0.18.1): Skipped for the following reason: Not currently installed
  • Removing ipaddress (1.0.23): Skipped for the following reason: Not currently installed
  • Removing isort (5.5.5): Skipped for the following reason: Not currently installed
  • Removing jmespath (0.10.0): Skipped for the following reason: Not currently installed
  • Removing keras-preprocessing (1.1.0): Skipped for the following reason: Not currently installed
  • Removing jsonpickle (1.4.1): Skipped for the following reason: Not currently installed
  • Removing jsonschema (3.2.0): Skipped for the following reason: Not currently installed
  • Removing kafka-python (1.4.7): Skipped for the following reason: Not currently installed
  • Removing keras-applications (1.0.8): Skipped for the following reason: Not currently installed
  • Removing mattermostwrapper (2.2): Skipped for the following reason: Not currently installed
  • Removing mccabe (0.6.1): Skipped for the following reason: Not currently installed
  • Removing lazy-object-proxy (1.4.3): Skipped for the following reason: Not currently installed
  • Removing networkx (2.4): Skipped for the following reason: Not currently installed
  • Removing matplotlib (3.2.2): Skipped for the following reason: Not currently installed
  • Removing joblib (0.17.0): Skipped for the following reason: Not currently installed
  • Removing kiwisolver (1.2.0): Skipped for the following reason: Not currently installed
  • Removing mypy-extensions (0.4.3): Skipped for the following reason: Not currently installed
  • Removing pika (1.1.0): Skipped for the following reason: Not currently installed
  • Removing prompt-toolkit (2.0.10): Skipped for the following reason: Not currently installed
  • Removing oauthlib (3.1.0): Skipped for the following reason: Not currently installed
  • Removing opt-einsum (3.3.0): Skipped for the following reason: Not currently installed
  • Removing pathspec (0.8.0): Skipped for the following reason: Not currently installed
  • Removing pyasn1-modules (0.2.8): Skipped for the following reason: Not currently installed
  • Removing oauth2client (4.1.3): Skipped for the following reason: Not currently installed
  • Removing pyjwt (1.7.1): Skipped for the following reason: Not currently installed
  • Removing pykwalify (1.7.0): Skipped for the following reason: Not currently installed
  • Removing pyasn1 (0.4.8): Skipped for the following reason: Not currently installed
  • Removing markdown (3.3): Skipped for the following reason: Not currently installed
  • Removing pydot (1.4.1): Skipped for the following reason: Not currently installed
  • Removing protobuf (3.13.0): Skipped for the following reason: Not currently installed
  • Removing psycopg2-binary (2.8.6): Skipped for the following reason: Not currently installed
  • Removing pylint (2.6.0): Skipped for the following reason: Not currently installed
  • Removing pymongo (3.8.0): Skipped for the following reason: Not currently installed
  • Removing pyreadline (2.1): Skipped for the following reason: Not currently installed
  • Removing pyrsistent (0.17.3): Skipped for the following reason: Not currently installed
  • Removing pysocks (1.7.1): Skipped for the following reason: Not currently installed
  • Removing questionary (1.5.2): Skipped for the following reason: Not currently installed
  • Removing python-engineio (3.12.1): Skipped for the following reason: Not currently installed
  • Removing python-socketio (4.5.1): Skipped for the following reason: Not currently installed
  • Removing python-telegram-bot (12.8): Skipped for the following reason: Not currently installed
  • Removing pyyaml (5.3.1): Skipped for the following reason: Not currently installed
  • Removing rocketchat-api (1.3.1): Skipped for the following reason: Not currently installed
  • Removing rasa (1.10.3): Skipped for the following reason: Not currently installed
  • Removing redis (3.5.3): Skipped for the following reason: Not currently installed
  • Removing ruamel.yaml.clib (0.2.2): Skipped for the following reason: Not currently installed
  • Removing requests-oauthlib (1.3.0): Skipped for the following reason: Not currently installed
  • Removing sanic-jwt (1.4.1): Skipped for the following reason: Not currently installed
  • Removing rsa (4.6): Skipped for the following reason: Not currently installed
  • Removing ruamel.yaml (0.16.12): Skipped for the following reason: Not currently installed
  • Removing sklearn-crfsuite (0.3.6): Skipped for the following reason: Not currently installed
  • Removing slackclient (2.9.1): Skipped for the following reason: Not currently installed
  • Removing python-crfsuite (0.9.7): Skipped for the following reason: Not currently installed
  • Removing scikit-learn (0.22.2.post1): Skipped for the following reason: Not currently installed
  • Removing scipy (1.4.1): Skipped for the following reason: Not currently installed
  • Removing regex (2020.9.27): Skipped for the following reason: Not currently installed
  • Removing s3transfer (0.3.3): Skipped for the following reason: Not currently installed
  • Removing sqlalchemy (1.3.19): Skipped for the following reason: Not currently installed
  • Removing tensorflow-hub (0.8.0): Skipped for the following reason: Not currently installed
  • Removing tensorflow-probability (0.9.0): Skipped for the following reason: Not currently installed
  • Removing termcolor (1.1.0): Skipped for the following reason: Not currently installed
  • Removing tensorflow-addons (0.7.1): Skipped for the following reason: Not currently installed
  • Removing toml (0.10.1): Skipped for the following reason: Not currently installed
  • Removing tabulate (0.8.7): Skipped for the following reason: Not currently installed
  • Removing tensorboard (2.1.1): Skipped for the following reason: Not currently installed
  • Removing tensorflow (2.1.1): Skipped for the following reason: Not currently installed
  • Removing terminaltables (3.1.0): Skipped for the following reason: Not currently installed
  • Removing tensorflow-estimator (2.1.0): Skipped for the following reason: Not currently installed
  • Removing tornado (6.0.4): Skipped for the following reason: Not currently installed
  • Removing twilio (6.26.3): Skipped for the following reason: Not currently installed
  • Removing typed-ast (1.4.1): Skipped for the following reason: Not currently installed
  • Removing wrapt (1.12.1): Skipped for the following reason: Not currently installed
  • Removing yarl (1.6.0): Skipped for the following reason: Not currently installed
  • Removing wcwidth (0.2.5): Skipped for the following reason: Not currently installed
  • Removing typing-extensions (3.7.4.3): Skipped for the following reason: Not currently installed
  • Removing tzlocal (2.1): Skipped for the following reason: Not currently installed
  • Removing werkzeug (1.0.1): Skipped for the following reason: Not currently installed
  • Removing webexteamssdk (1.3): Skipped for the following reason: Not currently installed
  • Removing aiofiles (0.5.0)
  • Removing appdirs (1.4.4)
  • Removing cffi (1.14.3)
  • Removing coloredlogs (10.0)
  • Removing cryptography (3.1.1)
  • Removing h11 (0.8.1)
  • Removing h2 (3.2.0)
  • Removing hpack (3.0.0)
  • Removing hstspreload (2020.10.6)
  • Removing httptools (0.1.1)
  • Removing httpx (0.9.3)
  • Removing humanfriendly (8.2)
  • Removing hyperframe (5.2.0)
  • Removing multidict (4.7.6)
  • Removing packaging (20.4)
  • Removing pycparser (2.20)
  • Removing pyparsing (2.4.7)
  • Removing rasa-sdk (1.10.3)
  • Removing requests-toolbelt (0.9.1)
  • Removing rfc3986 (1.4.0)
  • Removing sanic (19.12.2)
  • Removing sanic-cors (0.10.0.post3)
  • Removing sanic-plugins-framework (0.9.4)
  • Removing sniffio (1.1.0)
  • Removing ujson (2.0.3)
  • Removing uvloop (0.14.0)
  • Removing websockets (8.1)
  • Installing zipp (3.3.0): Skipped for the following reason: Already installed
  • Installing cymem (2.0.3)
  • Updating importlib-metadata (1.7.0 -> 2.0.0)
  • Installing murmurhash (1.0.2)
  • Installing numpy (1.19.2)
  • Installing blis (0.4.1)
  • Installing catalogue (1.0.0)
  • Installing certifi (2020.6.20): Skipped for the following reason: Already installed
  • Installing chardet (3.0.4): Skipped for the following reason: Already installed
  • Installing plac (1.1.3)
  • Installing idna (2.10): Skipped for the following reason: Already installed
  • Installing tqdm (4.45.0)
  • Installing wasabi (0.8.0)
  • Installing srsly (1.0.2)
  • Installing preshed (3.0.2)
  • Installing urllib3 (1.25.10): Skipped for the following reason: Already installed
  • Installing requests (2.24.0): Skipped for the following reason: Already installed
  • Installing six (1.15.0): Skipped for the following reason: Already installed
  • Installing thinc (7.4.1)
  • Installing python-dateutil (2.8.1)
  • Installing pytz (2019.3)
  • Installing spacy (2.3.2)
  • Installing es-core-news-sm (2.3.1 https://github.com/explosion/spacy-models/releases/download/es_core_news_sm-2.3.1/es_core_news_sm-2.3.1.tar.gz)
  • Installing pandas (1.1.3)
  • Installing unidecode (1.1.1)

As you can see, there are multiple dependencies that are removed. How can I prevent it?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:27
  • Comments:39 (5 by maintainers)

github_iconTop GitHub Comments

35reactions
alfrischcommented, Apr 15, 2021

we see this problem appearing with poetry version 1.1.6 when installing poetry in a venv with pip, version 1.1.5 does not show this behavior. poetry install will remove webencodings and such poetry will not work anymore.

+1 for the --no-remove option.

20reactions
tedivmcommented, Nov 2, 2021

This is really not what I would have expected for this behavior. There should be a way to say “I want to keep what is installed, but also install these packages”. Right now making multiplatform container images (that support arm64 and amd64) with poetry is a nightmare that requires building the packages separately, and this issue makes that even worse.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to stop poetry from uninstalling packages - Stack Overflow
I am working on a package that has dependencies which require colorama<0.4.4 . Other software I install with pip requires colorama==0.4.4 . When ......
Read more >
Commands | Documentation | Poetry - Python dependency ...
The remove command removes a package from the current list of installed packages. poetry remove pendulum. If you want to remove a package...
Read more >
Poetry: Dependency Management for Python - PyPI
Python dependency management and packaging made easy. ... The remove command removes a package from the current list of installed packages
Read more >
Python Poetry: Package and venv Management Made Easy
Conveniently manages your virtual environments (no need to create them manually) ... Install and remove packages with Python Poetry.
Read more >
Managing Python Dependencies with Poetry
Dependency management and packaging with Poetry · Why it's important to pin your dependencies · What is poetry · The pyproject.toml file ·...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found