Viene visualizzato il seguente errore quando si utilizza PIP per installare nuovi pacchetti o addirittura aggiornare il pip stesso alla versione più recente. Sto facendo pip su una macchina Windows 8.1 con Python 3.4.Python - PIP installa risoluzione dei problemi - PermissionError: [WinError 5] Accesso negato
Il messaggio indica che non sono presenti autorizzazioni amministrative sui file (il mio account è un account amministratore).
Apprezzerei qualsiasi idea su come risolvere questo problema, in quanto sta ostacolando l'installazione di pacchetti e l'avanzamento con Python.
Messaggio di errore:
Installing collected packages: pip
Found existing installation: pip 6.0.8
Uninstalling pip-6.0.8:
Removing file or directory c:\program files (x86)\python\python34\lib\site-packages\pip-6.0.8.dist-info\description.rst
Cleaning up...
Exception:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python\Python34\lib\shutil.py", line 523, in move
os.rename(src, real_dst)
PermissionError: [WinError 5] Access is denied: 'c:\\program files (x86)\\python\\python34\\lib\\site-packages\\pip-6.0.8.dist-info\\description.rst' -> 'C:\\Users\\User\\AppData\\Local\\Temp\\pip-uze_sc4k-uninstall\\program files (x86)\\python\\python34\\lib\\site-packages\\pip-6.0.8.dist-info\\description.rst'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\basecommand.py", line 232, in main
status = self.run(options, args)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\commands\install.py", line 347, in run
root=options.root_path,
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\req\req_set.py", line 543, in install
requirement.uninstall(auto_confirm=True)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\req\req_install.py", line 667, in uninstall
paths_to_remove.remove(auto_confirm)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\req\req_uninstall.py", line 126, in remove
renames(path, new_path)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\utils\__init__.py", line 316, in renames
shutil.move(old, new)
File "C:\Program Files (x86)\Python\Python34\lib\shutil.py", line 536, in move
os.unlink(src)
PermissionError: [WinError 5] Access is denied: 'c:\\program files (x86)\\python\\python34\\lib\\site-packages\\pip-6.0.8.dist-info\\description.rst'
Eseguire il prompt dei comandi come amministratore. Potrebbe aiutare. Avere autorizzazioni di amministratore nell'account non è sempre sufficiente. – Roope
Grazie Roope. Questo era davvero il problema. Risolto facilmente ma frustrante per esperienza. –
Ancora rilevanti nel 2018: non eseguire le cose come amministratore. La soluzione più sensata è usare 'virtualenv' per creare una directory di ambiente virtuale (" virtualenv dirname ") e quindi attivare quell'ambiente virtuale con" dirname \ Script \ Activate "prima di eseguire qualsiasi comando pip. In questo modo, tutto viene scritto in dirs per cui si dispone di permessi di scrittura completi, senza bisogno di UAC e senza installazioni globali per dipendenze locali. –