-
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
7.0.3 Windows - problem with directory cleanup on upgrade #2863
Comments
Similar problem when upgrading pip on Appveyor. https://ci.appveyor.com/project/ogrisel/python-appveyor-demo/build/1.0.127/job/1y2sr88ib7b043i3
I tried |
RC @dstufft
Related: 4/23 Updating cffi, I got this: Updating cryptography : |
Lots of different issues here.
|
Windows allows to rename it and remove later when it is not used. |
But pip doesn't. And is unlikely to in the foreseeable future. |
@pfmoore you said that. |
I'm confused. What I said was that Windows doesn't allow you to upgrade an in-use DLL. This is correct. It's possible to work around this by renaming the DLL (so that the process using it can continue doing so) and mark it for deletion later, and in the meantime put a new version of the DLL in place. This gives you a new version, but doesn't upgrade the one the existing process is using. And there are a large number of technical issues with doing this robustly in pip. So pip does not do this (that's simply a fact). The reason it's unlikely that pip will do so in the foreseeable future is that none of the pip developers feels that the cost of developing a solution is worth the benefits, and nobody outside of the pip development team has come up with a mergeable PR that does this (even if someone did, that's no guarantee it would be applied, as there are other considerations such as maintainability, but without the first step of a usable PR, nothing will happen). @darkmorpher The commit you refer to is unrelated - it's about dealing with VCSs that mark their control directories as read only. The cryptography issues you refer to seems to be similar, and so the same comments apply (don't upgrade something that's in use). The others are indeed all variations on this debate, which keeps coming up (even though the docs cover not using |
Can you be specific about there is the major problem in |
Closing this, we've fixed this by not importing any C extensions in the install/upgrade path of pip on Windows. |
The text was updated successfully, but these errors were encountered: