-
Notifications
You must be signed in to change notification settings - Fork 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
Extras not getting installed when the package that includes the extras has already been installed #4957
Comments
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
This makes it straightforward to add dependencies for a bot, and works around pypa/pip#4957.
I think I have a similar case. Reproduction is as follows. If I have a
and I do:
( Then |
I am having the following problem (commented on #3516). Is this issue the cause of that problem?
|
Same issue here 😞 Extract from my extras_require = {
'api': [
'Some-Dep[api]'
],
},
install_requires = [
'Some-Dep',
],
|
This just bit us as well. I've run a few test cases:
This bug also applies to
The above test cases have been replicated on:
And versions of pip prior to 8.0.0 raise an error when passing requirements with two different extras, as described in #3189. After going through this exercise, It seems clear to me that #3189 as well as its associated PR #3198 solve only a small portion of this issue, namely running rather than erroring out. It is worth noting that #988 "build a dependency resolver" is still open and describes the above issues quite clearly in point 2:
Given the above, I'm pretty sure this boils down to #988, #4957, etc, and many other bugs on various other repos (eg. googleapis/google-cloud-python#5023, googleapis/google-cloud-python#5776) all being dupes of this. |
working around pypi bug pypa/pip#4957
address aiidateam/aiida-plugin-cutter#20 * limit aiida version to <1.0 * switch from aiida to aiida-core * add dependencies explicitly, working around pypi bug pypa/pip#4957
fix aiidateam#20 * limit aiida version to <1.0 * switch from aiida to aiida-core * add dependencies explicitly, working around pypi bug pypa/pip#4957 * switch to aiida 0.12 as default minimum version
I'm seeing this same issue with setup(
[...],
extras_require={
'prod': ['foo'],
'test': ['foo[bar]'],
},
) then I can verify that both I don't have a good solution for the case when two extras specify the same package but with different extras (e.g. for the above example, if |
install_requires should list "what a project minimally needs to run correctly"[1] and the presence of these dependencies is checked at runtime when the project is installed via pip. The securesystemslib pynacl extras allow for faster implementations of cryptographic algorithms, but aren't required in order to run - therefore they should not be listed in install_requires. Unfortunately pypa/pip#4957 makes including the securesystemslib[pynacl] extra in extras_require a noop when securesystemslib is already installed, therefore we add pynacl itself to extras_require so that we can keep in-synch with the pynacl dependency in securesystemslib 1. https://packaging.python.org/discussions/install-requires-vs-requirements Signed-off-by: Joshua Lock <[email protected]>
This comment has been minimized.
This comment has been minimized.
any updates? |
I believe the 2020 resolver does this correctly. Can anyone confirm? |
I'm seeing the same issue with |
Thanks for the confirmation. I’ll merge this into the #988 mega issue then. |
Description:
Note: I initially reported this here pypa/setuptools#1247, but was advised to report it here instead.
A similar issue was reported and fixed here for
pip
.In our case:
zulip_bots
package that depends onrequests
andsimple_salesforce
.simple_salesforce
further depends onrequests[security]
.zulip_bots
package also depends on thezulip
package in the same repo which also depends on/installsrequests
. So, it is clear thatrequests
does get installed whether you installzulip
orzulip_bots
.zulip
andzulip_bots
packages.zulip_bots
package), we ran into:The above error led us to conclude that for some reason,
requests[security]
was not getting satisfied as expected.It would mean a lot to us if someone could please shed some light on whether this is a re-manifestation of #3189 and #3198 or simply a quirk in our understanding of how extra dependencies are resolved! Thanks! :)
The text was updated successfully, but these errors were encountered: