Actualización de Windows 10 y pip – Acceso denegado

He realizado una instalación nueva de Windows 10, instalé python, cygwin y una consola mejorada llamada ConEmu. Después de instalar python 3.4.3 ejecuto:

pip install -U pip 

Y tengo este error.

 File "C:\Anwendungsentwicklung\Python34\lib\site-packages\pip\utils\__init__.py", line 70, in rmtree_errorhandler os.makedirs(path) PermissionError: [WinError 5] Zugriff verweigert: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-dxm8d3xg-uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

He iniciado sesión con una cuenta de administrador predefinida y el directorio temporal, así como el directorio de instalación de Python (C: \ Anwendungsentwicklung \ Python34) tiene acceso completo.

Por favor, he probado todas las variaciones al establecer diferentes derechos, pero Windows no me lo permite. Incluso agregué “Todos” a la pestaña de seguridad, pero esto no ayudó, aunque recuerdo que estaba trabajando con Windows 7 con este “truco”. Debe ser un problema con Windows 10. ¿Puede alguien ayudarme?

introduzca la descripción de la imagen aquí


Este es el rastreo completo

  Exception: Traceback (most recent call last): File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 372, in _rmtree_unsafe os.unlink(fullname) PermissionError: [WinError 5] Zugriff verweigert: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-k7g0hd6t- uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\basecommand.py", line 232, in main logger.critical('Operation cancelled by user') File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\commands\install.py", line 347, in run ensure_dir(options.target_dir) File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\req\req_set.py", line 560, in install missing_requested = sorted( File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\req\req_install.py", line 677, in commit_uninstall logger.debug( File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\req\req_uninstall.py", line 153, in commit self.save_dir = None File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\utils\__init__.py", line 58, in rmtree SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 484, in rmtree return _rmtree_unsafe(path, onerror) File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 368, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 368, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 368, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "c:\anwendungsentwicklung\python34\lib\shutil.py", line 376, in _rmtree_unsafe print(fullname) File "c:\anwendungsentwicklung\python34\lib\site-packages\pip\utils\__init__.py", line 70, in rmtree_errorhandler try: PermissionError: [WinError 5] Zugriff verweigert: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-k7g0hd6t-uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

Ahora agregué un punto de interrupción en “c: \ anwendungsentwicklung \ python34 \ lib \ shutil.py”:

 # version vulnerable to race conditions def _rmtree_unsafe(path, onerror): try: if os.path.islink(path): # symlinks to directories are forbidden, see bug #1669 raise OSError("Cannot call rmtree on a symbolic link") except OSError: onerror(os.path.islink, path, sys.exc_info()) # can't continue even if onerror hook returns return names = [] try: names = os.listdir(path) except OSError: onerror(os.listdir, path, sys.exc_info()) for name in names: fullname = os.path.join(path, name) try: mode = os.lstat(fullname).st_mode except OSError: mode = 0 if stat.S_ISDIR(mode): _rmtree_unsafe(fullname, onerror) else: try: #import pdb os.unlink(fullname) #pdb.set_trace() except OSError: import pdb; pdb.set_trace() print(fullname) import getpass print(getpass.getuser()) onerror(os.unlink, fullname, sys.exc_info()) try: os.rmdir(path) except OSError: onerror(os.rmdir, path, sys.exc_info()) 

Cuando ejecuto

 os.unlink(fullname) # 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-k7g0hd6t- uninstall\\anwendungsentwicklung\\python34\\scripts\\pip.exe' 

Obtengo este PermissionError , así que verifiqué los derechos de este archivo .exe con

 oct(os.stat(fullname)[ST_MODE]) 

y devuelve: ‘0o100777’

Y cuando tengo razón, esto significa un permiso completo para todos (propietario, grupo y otros).

Estoy frustrado: / ¿Alguien una idea?

Como se discutió aquí , es una limitación de Windows. En resumen, el archivo pip.exe está en uso y, por lo tanto, está bloqueado y no se puede eliminar. Utilice python -m pip install --upgrade pip .

Mi primera opción en la misma situación es iniciar la consola con derechos de administrador. Puede hacerlo desde el menú de inicio o si está utilizando ConEmu / Cmder, simplemente ejecute una nueva instancia / pestaña como administrador.

Yo tuve el mismo problema. Funcionó si ejecuta cmd “como administrador” haciendo clic derecho.