-
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
--install-option (in the cli) gets passed to deps being installed #1883
Comments
I'm affected by this one as well. For now I'm resorting to ugly hacks using environment variables instead. |
Same here. What is the point of providing |
It would be expected that |
starting with pip v7, pip supports using so like this `pip install -r requirements.txt' where requirements.txt contains
using I guess it could be changed to only apply to top-level requirements, but I'm not sure given the new support in requirements files. i.e. supposing |
Thanks a lot! I was aware of the newly introduced I cannot make this the default behavior (as it fetches a tarball external to PyPI, and also, the user may already have the library installed somewhere, and so want to set The only other use case is when someone installs directly the package, and cannot pass this as a command line option via A temporary workaround for this use case may be:
This should first install dependencies w/o passing any flags, then re-install the package only, passing |
Is the a resolution for that issue available yet? This temporary workaround of first installing the package with dependencies and then re-installing the package with --install-option is not working for me: Additional software is installed during the installation of the package and the --install-option could skip this step. But there's no use for this flag to simply install everything including the software first, just to then uninstall it again. |
I'm pretty sure that the only reason this has not been fixed is because no one has come around to fixing this. |
Same problem here. |
- Update README documentation with info on how to specify additional PyPi servers so bliss-core can be installed as part of the GUI installation. The developer install instructions had to be reworked due to issues with pip passing install-option's to dependencies as well as the package to be installed. The current supported work around is a horrible hack. See pypa/pip#1883 for info. - Updated the bliss-core version to the latest release.
Going on 4 years this has been open and still no fix... any updates on when we might see some progress? |
Any updates on this one? For those who can't use requirements file this is crucial option to have. |
Assuming we want to NOT pass options to dependencies by default (and possibly remove the ability entirely), one possible approach would be:
If we want to remove the options getting passed to all dependencies behavior then the deprecation warning should also be traced if One reason we may want to remove the behavior entirely is to transition fully over to config settings (#5771), which we could incorporate this kind of configuration into. |
Removing bug label since this was almost certainly done intentionally initially for location-related options (like those deprecated in #7309). |
- we want to use --install-options when installing dias - bc of this pip bug pypa/pip#1883, we cannot use that option in the same install command - moving deps to requirements.txt splits it into two separate install commands
- we want to use --install-options when installing dias - bc of this pip bug pypa/pip#1883, we cannot use that option in the same install command - moving deps to requirements.txt splits it into two separate install commands
sister PR: chime-experiment/ch_ansible#91 we previously used --install-options when installing dias bc of this pip bug pypa/pip#1883, we could not use that option - it applied it to all of dias' dependencies
sister PR: chime-experiment/ch_ansible#91 we previously used --install-options when installing dias bc of this pip bug pypa/pip#1883, we could not use that option - it applied it to all of dias' dependencies
Hi everyone! How is this issue going? Is this still happening with newer versions of pip? If not, can we close it? |
This issue remains the same (#1883 (comment)). Passing an pip install --verbose dd --install-option='--cudd' --install-option='--cudd_zdd' raises an error (below intermediate output has been replaced with
|
The issue can be addressed by using process substitution: pip install --verbose \
-r <(echo "dd --install-option='--fetch' --install-option='--cudd' --install-option='--cudd_zdd'") This works, because it emulates a requirements file, and thus changes the scope of This approach is much better than the install-then-reinstall approach that I described above (#1883 (comment)). Also, the install-then-reinstall approach is possible for those packages that have a pure Python variant, as well as an optimized alternative (i.e., same API implemented in both pure Python and using built extensions, e.g., Cython). The package For packages that necessarily need This approach works also for installing from the local directory: pip install --verbose --use-feature=in-tree-build \
-r <(echo ". --install-option='--fetch' --install-option='--cudd' --install-option='--cudd_zdd'") |
As of pip install --verbose \
-r <(echo ". --install-option='--fetch' --install-option='--cudd' --install-option='--cudd_zdd'") |
Process substitution (suggested above: #1883 (comment)) is not in POSIX. For example, it is not available in (It seems useful to also allow multiple command-line parameters and arguments to be passed within the argument of a single occurrence of |
Any update on this issue? |
It is highly unlikely that we will change this behaviour, since the As a temporary workaround, you can try creating a
and install with OTOH, now might be a good time to confirm this is the behaviour we want for |
In my view, yes, we should continue with the current behaviour:
The first case is because otherwise, how would you specify an option that applies to everything? The second is because that is how any per-requirement options are set currently. Any other approach would need justifying (as it's a deviation from how we handle every similar option) and given that the semantics of config options are currently entirely backend-dependent, we can't realistically make such a judgement. If there's a case for a different approach, it should be made on Discourse, so that all backend maintainers have a chance to get involved, and any conclusions can be properly recorded (as standards, if necessary). |
Personally I'm not quite sure it makes sense to pass the same config settings to all builds. But I lack concrete use cases to help form an opinion. |
For |
Broken link?
So do I. As @uranusjr says, other build systems cascade by default (as does the common "set environment variables to configure your compiler" model). But it's not clear that config options in Python will correspond to that sort of option. Until build backends start making use of config options, we're guessing. As far as I know, only setuptools implements config options:
Footnotes
|
The text was updated successfully, but these errors were encountered: