-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Private Repository – Extras suddenly failing to match #2621
Comments
Additional note: pip install --extra-index-url https://pypi.org/simple core[full]==2.0.0
Installing collected packages: idna, chardet, urllib3, certifi, requests, numpy, pytz, six, python-dateutil, pandas, ujson, xlrd, XlsxWriter, jmespath, docutils, botocore, s3transfer, boto3, s3fs, simplejson, core
Successfully installed XlsxWriter-1.1.1 boto3-1.14.14 botocore-1.17.17 certifi-2020.6.20 chardet-3.0.4 core-2.0.0 docutils-0.15.2 idna-2.10 jmespath-0.10.0 numpy-1.16.4 pandas-0.24.2 python-dateutil-2.8.1 pytz-2020.1 requests-2.23.0 s3fs-0.1.5 s3transfer-0.3.3 simplejson-3.16.0 six-1.15.0 ujson-1.35 urllib3-1.25.9 xlrd-1.2.0 I think this means that poetry fails to provide PyPI as a backup index when installing another package that was built by poetry, so extras fail to install? |
@finswimmer Hey, hate to tag you here directly, but this is a blocker for adopting poetry for us. Would love to get some eyes on this, at least to confirm I'm not doing something dumb on our end. |
Hey @SamuelMS , no problem to ping me :) But in this case I cannot help, as I'm not familiar with private repository. Maybe @stephsamson , @sdispater or @abn can have a closer look at this. fin swimmer |
I'm seeing this issue too: private repository and dependency extras being both required by the solver, but also ignored by the solver. The issue seems to be related to overlapping extras, as we were able to solve it by taking extras blocks that looked like this: [tool.poetry.extras]
server = [
"sqlalchemy",
"fastapi",
"uvicorn",
]
executor = [
"fastapi",
"uvicorn",
"typer",
] and split their overlaps so it looked like this: [tool.poetry.extras]
server = [
"sqlalchemy",
]
executor = [
"typer",
]
server_or_executor = [
"fastapi",
"uvicorn",
] (This was a wild crapshoot guess -- I happened to notice that the two dependencies giving us issues were the only ones who appeared in the published If you take this far enough, then every dependency will boil down to its own extra, which is really not great. That said, this workaround seems stable enough for the time being. The issue is compounded by error reporting that is inconsistent and therefore misleading. An excerpt follows in heavily redacted form below (note that this is before the splitting of the overlaps described above):
Notice that it correctly reports that PyPI and the private PyPI instance both have two matching versions of uvicorn (which is true), and that it even later selects* what would be a compatible version of uvicorn (0.11.6), before complaining that there is no legal solution. * I assume "select" means "attempt to solve for" rather than "decide is the correct solution". |
I experience this same issue. I have worked around it for now by removing my "all" extra definition that includes all optional dependencies and left only the individual extras that don't have any overlap. Would be great to see this fixed as it is cumbersome doing "poetry install -E extra1 -E extra2 -E extra3 ... -E extraN" to install all dependencies. (Needed when developing a library and wanting to run tests). |
@stephsamson @sdispater @abn Per the note from @finswimmer above, is this something one of you can help us look into? |
I experience the same problem than mentioned in #2494 but my search for an existing issue first landed me here. The issues symptoms look similar IMO. |
@SamuelMS happy to take a look into this, but before I do, can someone please make sure this is still an issue using current |
I have the same issue: poetry suddenly failing to install a lib with extras from a private pypi. Not sure about master but at least in 1.1.0b2 it is still present. |
I solved the issue on my machine, it was a configuration issue. Even though the pyproject.toml was complete, I also also needed to configure the repository via |
@abn Still seeing this issue |
Same here. I am trying to add this package, and get access forbidden every time. With pip it works: |
This happens to us as well. Any progress with that? Can't really manage extras with this behaviour |
Closing this as we went with a different solution. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
-vvv
option).Issue
I'm encountering a bizarre, frustrating issue when using a package in a private repository that also provides python "extras" options. There are two packages at play here (names de-identified):
core
andapi
. Theapi
package depends on thecore
package.Previously, the
core
package was built with the following (simplified)setup.py
script:When we migrated to poetry, the
core
library shipped with the following (simplified)pyproject.toml
:For simplicity, let's say
core
went from1.0.0
to2.0.0
with the poetry changes.Next, the
api
package attempts to install thecore
package via itspyproject.toml
:Running
poetry update
withcore@1.0.0
works as expected, with the extra packages listed in the[full]
requirements being properly installed:However, changing the version tag to
2.0.0
– the version with poetry – causes some bizarre behavior. The first time I runpoetry update
withcore@2.0.0
, the[full]
packages are removed from the lock file.The second (and subsequent) time I run
poetry update
(no changes), I get an error:My guess is that poetry is trying to install the
[full]
extras from the private repository with2.0.0
and fails to fall back toPyPI
for some reason, which is why it fails to find it... although I don't know why it removes the extras in the first place.I'm pretty stuck here, so I would appreciate some guidance.
The text was updated successfully, but these errors were encountered: