Python shutil.rmtree: cannot remove git dir on win7
After the command, the folder is empty (no hidden files) but it cannot be removed it self because of the following error:
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'C:\\temp\\project'
I’ve checked and git is not running at that moment (I’ve even tried a sleep(10) to be sure).
I’ve tried this solution:
What user do python scripts run as in windows?
but it doesn’t work, same error.
os.system('rmdir') but same error.
win32api.SetFileAttributes() function but same error.
If I delete the folder via explorer, there’s no problem.
How can I solve the problem?
2 Solutions collect form web for “Python shutil.rmtree: cannot remove git dir on win7”
You are probably executing the Python code inside the folder you are trying to remove.
The OP was running in the wrong dir … but i found this thread for a problem using GitPython; seems like a common case, as git-python will hold handles to your repo if you don’t clean up in some odd ways:
import gc, stat gc.collect() your_repo_obj.git.clear_cache() # now this will succeed: shutil.rmtree(your_repo_dir)
the need for these gymnastics are due to both a bug, and by design. This bug describes the reasons: