-
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
Error when trying to install package from github repo with submodule #6623
Comments
Hello, like the error says, pip simply calls I don't think pip can avoid that ? |
The reporter also reported it in the package's tracker: pyminimp3/pyminimp3#1 |
What is the recommended solution here? Change the submodule to use the HTTPS link? |
That would be the easiest way to solve the reporter's issue I'm sure. GitHub's docs suggest here that https urls are more widely supported:
I do wonder now though if there's anything pip can do to make this work. For example, I see this open issue ("Pip - doesn't pass proxy settings through to git/hg etc."): #227 @0xf0f If you try to clone the ssh url coming from the submodule on the command-line manually yourself, what happens for you? Does it work -- are you prompted for anything? You want to try this:
|
Cloning the submodule manually works with that command. Only thing I'm prompted for is my passphrase. |
This might be why the command fails -- pip does not forward stdin to the VCS backends (for a bunch of reasons including that it is non-deterministic and automation usually hangs if waiting on stdin input). That means prompt for the passphrase would not work. Switching to https is a good workaround for this. |
Out of curiosity, now that you've typed your password, if you try again from scratch using pip, does it work?
This is because the parent repo is pointing to particular older commit. That's up to whoever maintains the parent repo. @pradyunsg It might be possible to add support for interactive mode if some kind of |
I'm not opposed to it but not super warm to the idea. I don't know if that's useful enough and I'm weary of adding more knobs to pip (#6221, #5204). All that said, it'd be nice to have a dedicated issue for discussing this specific idea (if we don't already). |
Unfortunately not. Though I do get different results between command prompt and git bash. In command prompt I get the same output as the original comment. In git bash, a small window titled 'OpenSSH' that looks like it was made with Tk (has the feather icon) pops up several times asking me to enter the passphrase. After that this happens:
|
Trying to pass-through settings to git for all variations of submodules (https with auth, https without auth, https with custom certificate, ssh) would be a lot of work. I'm inclined to say that if someone actually wants this implemented they can open a feature request for it. For the simple case here - if a user doesn't want submodules requested with ssh, it is possible to use URL rewriting to force one way or another for all requests: |
Coming back around to this, if anyone still cares about this specific problem -- stdin for subprocesses is closed by pip, which results in VCS not showing prompts for passwords -- please file a new issue for discussion, linking to #6623 (this issue). |
I'm going to go ahead and close this issue due to a lack of activity/interest. |
Environment
Description
Pip is unable to install the package at
https://github.com/pyminimp3/pyminimp3
.There's a permission error while cloning its submodule. Judging by
Host key verification failed
, it looks like git tries to use SSH to clone it when the initial command is requesting https.Expected behavior
Package is cloned and installed.
How to Reproduce
Run the command
pip install git+https://github.com/pyminimp3/pyminimp3
Output
The text was updated successfully, but these errors were encountered: