Poetry: Not installing extras / Behavior change from 1.0.10

Created on 7 Oct 2020  ·  12Comments  ·  Source: python-poetry/poetry

  • [x] I am on the latest Poetry version.
  • [ ] I have searched the issues of this repo and believe that this is not a duplicate.
  • OS version and name: Not relevant
  • Poetry version: Latest
  • Link of a Gist with the contents of your pyproject.toml file: Not relevant

Issue

Hey. Heads up, it might be a duplicate, because there are multiple extra related issues and it's not trivial for me to parse them all. I'll however try to document my issue with a minimal and reproducible setup, so hopefully it will add some value here.

Let's start.

A story of two poetry

❯ ls
poetry1010  poetry1102

❯ ./poetry1010 -V && ./poetry1102 -V
Poetry version 1.0.10
Poetry version 1.1.2

❯ ./poetry1010 new help0 && ./poetry1102 new help1
Created package help0 in help0
Created package help1 in help1



❯ diff -u <(cd help0/ && ../poetry1010 add "dramatiq[rabbitmq]") <(cd help1/ && ../poetry1102 add "dramatiq[rabbitmq]" | tr -s "•" "-")
--- /proc/self/fd/12    2020-10-07 19:26:21.998079921 +0100
+++ /proc/self/fd/14    2020-10-07 19:26:21.998079921 +0100
@@ -1,18 +1,16 @@
-Creating virtualenv help0-oFs3ajBR-py3.8 in /home/quatro/.cache/pypoetry/virtualenvs
+Creating virtualenv help1-uRfcpVMu-py3.8 in /home/quatro/.cache/pypoetry/virtualenvs
 Using version ^1.9.0 for dramatiq

 Updating dependencies
 Resolving dependencies...

-
-Package operations: 12 installs, 0 updates, 0 removals
+Package operations: 11 installs, 0 updates, 0 removals

   - Installing pyparsing (2.4.7)
   - Installing six (1.15.0)
   - Installing attrs (20.2.0)
   - Installing more-itertools (8.5.0)
   - Installing packaging (20.4)
-  - Installing pika (1.1.0)
   - Installing pluggy (0.13.1)
   - Installing prometheus-client (0.8.0)
   - Installing py (1.9.0)

We can observe pika is no longer installed in the latest version.

  • This later bit can be piped into diff-so-fancy for a better visual.
  • I use rm -rf ~/.cache/pypoetry/virtualenvs/help* to reset the virtualenvs.
  • You can replace poetry 1.1.2 with poetry master and it's the same outcome.

Let me know if there's anything else I can do to help or if I'm misunderstanding some new requirements .

Bug Dependency resolution

Most helpful comment

@razorx89 I am waiting on reviews for the fixes; unfortunately the team is a small group of folks volunteering spare time. :)

All 12 comments

This might be a duplicate of https://github.com/python-poetry/poetry/issues/2992 .

I've managed to reproduce the previous correct behavior with 1.1.0rc1 :

docker run --rm -i --entrypoint bash python:3.8 <<EOF
set -e
python -m pip install -q poetry==1.1.0rc1
python -m poetry new foobar
pushd foobar
ls
sed -i /pytest/d pyproject.toml
python -m poetry add dramatiq[rabbitmq]
EOF

Replacing poetry==1.1.0rc1 by either poetry==1.1.2 or git+https://github.com/python-poetry/poetry.git returns to the wrong behavior.

Feel free to close the issue if I just need to wait for the next release.

Not sure whether it is a duplicate hence posting here. I am trying to do

poetry add "apache-airflow[gcp_api,kubernetes,celery,postgres,redis]==1.10.12"

However none of the dependencies inside the [ ] were installed (not showing as a dependency in the .lock file). I am on Poetry 1.1.2. Thank you

@rickymyl-karhoo @Qu4tro can yo try the fix in #3147 please?

Note that #2992 is only partly related; the sisue there is alos the case of the extra package name used.

How do you install a specific commit/branch? Thank you

Something like this will work.

podman run --rm -i --entrypoint bash python:3.8 <<EOF
set -e
python -m pip install -q git+https://github.com/python-poetry/poetry.git@refs/pull/3147/head
python -m poetry new foobar
pushd foobar
ls
sed -i /pytest/d pyproject.toml
python -m poetry add dramatiq[rabbitmq]
EOF

Yep, I can confirm that it works with my setup. Thank you for the quick fix.

I also want to say, that dependabot has updated to Poetry 1.1 and has such, using it atm, might create an issue of missing extra packages (which was how I noticed this issue in the first place).

Thank you for reporting this @Qu4tro. I might try get a release out soon. Hopefully not many projects get impacted by the dependabot update. :(

I'm trying to get switched to poetry today, and I ran into this issue. I'll try using an older version to see if that gets me unstuck for today.

Edit: I'm unstuck, I think. I'm doing locking with 1.0.10, then installing with the latest release, which seems to work. I'll be glad to be on the latest release.

Thank you for reporting this @Qu4tro. I might try get a release out soon. Hopefully not many projects get impacted by the dependabot update. :(

Any updates on this? I ran into this issue today, but unfortunately I cannot downgrade to 1.0.10 due to another bug.

@razorx89 I am waiting on reviews for the fixes; unfortunately the team is a small group of folks volunteering spare time. :)

How come this was closed? I'm still having this issue in 1.1.3

1.1.3 fixed the issue in my case. There might be something different about your setup that needs to be identified.

Was this page helpful?
0 / 5 - 0 ratings