-
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
don't --user install in --system_site_packages virtualenvs when a conflict is present in the virtualenv site. #573
Comments
here's the install scenario that can happen with the latest code, if this isn't fixed
|
@qwcode Marcus - I noticed local failure on OS X when triaging other bugs - maybe loosen up the assert - also I note you're doing what looks like division not string concat - Do you want to fix up?
|
OK I see what is happening - real as We probably should make the tests less brittle on the fs layout - maybe just assert contains error message, package and the env.site_packages. Other option is to enforce os.path.realpath in the test helper
|
what if I want to force the install to the PYTHONUSERBASE? |
@skyl you can do it in a different environment, that does not have the conflict scenario this issue deals with. |
the thing is, I still want the rules about whether or not to skip based on the requirement being already satisfied. I could use the system pip and install with --user but then I redundantly install a bunch of stuff that should be skipped based on what is already in the virtualenv. |
yea, I can see possibly re-moving this restriction (and just logging warnings when "hidden" packages are installed). if you want to open a specific issue for that, please do. there's pros/cons either way. but as for doing the --user install in another environment, you can target just the specific packages need using |
just logged #1443 |
the sys.path ordering in a --system_site_packages virtualenv is this: virtualenv site, then usersite, then global site.
pip shouldn't allow a --user install if a conflict is present in the virtualenv site, because it won't have sys.path precedence and won't be importable.
this issue has been added to the --user fixes pull request plan as part5.
https://gist.github.com/gists/2822510
The text was updated successfully, but these errors were encountered: