Impossibile installare i pacchetti a causa di un EnvironmentError: [WinError 5] Accesso negato:


102

Ho Windows 10. Ho completato l'installazione di Tensorflow. Funziona. Dice "Hello Tensorflow!". Ma ha tutto questo prima di esso:

2018-08-18 18:16:01.500579: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 
2018-08-18 18:16:01.769002: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1405] Found device 0 with properties: name: GeForce GTX 950 major: 5 minor: 2 memoryClockRate(GHz): 1.3545 pciBusID: 0000:01:00.0 totalMemory: 2.00GiB freeMemory: 1.64GiB 
2018-08-18 18:16:01.774030: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1484] Adding visible gpu devices: 0 
2018-08-18 18:16:02.095489: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix: 
2018-08-18 18:16:02.099093: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:971] 0 
2018-08-18 18:16:02.100631: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:984] 0: N 
2018-08-18 18:16:02.102156: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1401 MB memory) -> physical GPU (device: 0, name: GeForce GTX 950, pci bus id: 0000:01:00.0, compute capability: 5.2) Hello Tensorflow!

Process returned 0 (0x0) execution time : 2.327 s Press any key to continue

Quando pip3 install --upgrade tensorflow-gpudigito cmb, sia amministrativo che normale ottengo questo:

Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'c:\\users\\dylan\\appdata\\local\\programs\\python\\python35\\Lib\\site-packages\\numpy\\.libs\\libopenblas.BNVRK7633HSX7YVO2TADGR4A5KEKXJAW.gfortran-win_amd64.dll'
Consider using the `--user` option or check the permissions.

Per favore aiutatemi. Non uno scienziato informatico o un ingegnere. Ma codice per divertimento.


16
Aggiungi --useral pip3comando di installazione.
Zain Patel

6
Non capisco perché ora dobbiamo usare --user? Perché presumibilmente si installa nella directory utente, che potrebbe non essere ciò che desideri. Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
not2qubit

2
Non voglio davvero installare nella directory utente e l'esecuzione di CMD come amministratore mi dà gli stessi errori.
Michael Szczepaniak

Risposte:


101

Basta digitare il comando che si desidera eseguire con l'autorizzazione dell'utente, se non si desidera modificare l'autorizzazione:

pip3 install --upgrade tensorflow-gpu --user

4
@Dylan Cooper per favore accetta questa risposta in modo da non dover scavare attraverso anni di risposte
PolarBear10

1
@ Chayan Whyy funziona e la normale installazione di pip no?
atp

37

eseguire lo stesso comando usando '--user'


Il messaggio di errore suggerisce questo "Considera l'utilizzo --userdell'opzione o verifica le autorizzazioni". Ho aggiunto --user ed è stato risolto
grazie a un

Quindi non c'è differenza se usi il comando senza o con '--user'? perché è quello che sembri presumere ...
min.

Sì, c'è una differenza: il pacchetto verrà invece installato in% userprofile%.
agcala

20

Ho scoperto che se eseguo CMD come amministratore ed eseguo il comando, posso installarlo senza problemi. Provalo e dammi un feedback.


Questo e il riavvio dopo l'installazione di Python hanno funzionato per me.
Ryan_S

Questo ha funzionato per me. Strano che anche Windows Terminal come amministratore non funzionasse.
howdoicode

Per me va bene. È interessante notare che solo l'apertura di CMD come amministratore ha funzionato, mentre l'apertura di Git Bash come amministratore no.
Shlomi A

1
In effetti questo funziona, stranamente Windows PowerShell come amministratore mostra il messaggio di accesso negato e dice che l'installazione non è riuscita, ma in realtà ha fatto anche il lavoro
Joris

13

basta cambiare il permesso di accesso, dove verrà installato il particolare pacchetto.

Nel mio caso windows10 :

  • vai a "C: \ Programmi (x86) \ Python37"
  • fare clic con il tasto destro sulla cartella Python37 e fare clic su proprietà
  • vai alla scheda Sicurezza e consenti il ​​controllo completo facendo clic sul pulsante Modifica.
  • apri di nuovo il nuovo terminale cmd e prova a installare nuovamente il pacchetto.


10

Stavo aggiornando tensorflow a 1.4.0 e stavo sbattendo la testa sul muro poiché questo errore non veniva risolto, ma alla fine lo ha risolto. Indovina un po?

Uno dei miei script Python era in esecuzione e utilizzava tensorflow 😂😂. Pacchetto installato correttamente dopo averlo chiuso. 👍


1
Stesso problema qui.
Florin Marcus

Credo di aver avuto lo stesso problema. Sebbene abbia ucciso tutte le istanze di Python tramite Task Manager, sono stato in grado di installarlo dopo un riavvio del mio computer.
mKay

8

Per me (in Windows), ho dovuto riavviare il terminale ed eseguirlo come amministratore (se stai usando il terminale pycharm, chiudi semplicemente pycharm e riaprilo come amministratore, quindi riprova), questo ha risolto il problema e l'installazione ha avuto successo.

In bocca al lupo


5

Per installare tensorflow utilizzare questo comando che include --User.

pip install --ignore-installed --upgrade --user tensorflow==2.0.1

Qui 2.0.1 è la versione di tensorflow.


5

Questo dovrebbe funzionare

pip install --user requests

1
Perché funzionerà. Fornisci ulteriori spiegazioni sulla tua risposta.
OGx09

4

Oh mio. Ci sono così tante cattive risposte qui. Significativo ma fuorviante. Di solito sto bene con la gestione delle autorizzazioni su Mac / Linux. Windows è una novità per me in questi giorni. Questo è il problema che ho avuto.

  1. Crea un virtualenv - ok
  2. activatemy virtualenv - fallito. Necessita di Scope per eseguire PowerShell. Windows è utile e ti dice esattamente il comando che devi eseguire per consentire l'esecuzione di .ps. Un po 'come chmodma con l'esecuzione scopeche penso sia buona.
  3. Ora se hai superato quanto sopra e installi alcuni pacchetti, allora va bene. Fino a quando improvvisamente non puoi. Quindi ottieni questo errore di autorizzazione.
  4. Qualcosa che tu o un altro processo avete impostato l'autorizzazione sulla cartella in cui pip installa i pacchetti. cioè ...site-packages/nel mio caso sospetto che sia OneDrive o qualche eredità di autorizzazione.

La soluzione ideale è controllare le autorizzazioni. Questo è difficile ma sei uno sviluppatore Python, vero? Prima controlla il tuo utente.

  1. whoami ad es. mio computer \ vangel
  2. Get-Acl <path which is an issue>
  3. nella cartella di installazione di Python o fai clic con il pulsante destro del mouse su virtualenv e vai alla scheda Sicurezza. Fai clic su Avanzate e verifica le autorizzazioni. Ho rimosso tutte le autorizzazioni ereditate e altri utenti ecc. E ho aggiunto il mio whoamiutente esplicitamente con autorizzazioni complete. quindi applicato a tutti gli oggetti.

Non farlo senza verificare i passaggi seguenti. Leggi attentamente il messaggio.

In nessun modo è la soluzione per tutti i problemi di autorizzazioni che potrebbero interessarti. Posso solo fornire indicazioni su come risolvere i problemi e, si spera, risolverli.

l'impostazione della --userbandiera non è necessaria da nessuna parte, se funziona bene per te. Ma ancora non sai cosa è andato storto.

Ulteriori passaggi: prova a rimuovere un pacchetto e installarlo. pip uninstall requests pip install requests Funziona, ma ottengo un problema di autorizzazione per un pacchetto specifico.

Si scopre che Windows fornisce un errore di autorizzazione quando il file è bloccato da un processo. Python lo segnala come [Winerror 5]e comunque non sono riuscito a trovare facilmente quel riferimento alla documentazione. testiamo questa teoria.

Trovo il file esatto che ottiene l'errore di autorizzazione. Premi elimina. Certo che abbastanza Windows windowrichiede che sia aperto pythonOvviamente lo è.

Ho scelto end tasktutti i python. Ha funzionato dal 1996. Ma ho aspettato qualche secondo nel caso in cui qualche processo stesse avviando python. Controllato Task managertutto bene.

Avendo fallito 20 volte nel convincere pip a installare il pacchetto azureml specifico, ero abbastanza sicuro che questo lo avesse risolto.

Ho eseguito l'installazione di pip e si è installato perfettamente.

Morale della storia: comprendi cosa stai facendo prima di copiare e incollare da Stackoverflow. Ti auguro il meglio.

ps Si prega di interrompere l'installazione di Python o dei suoi pacchetti come amministratore. L'abbiamo superato dal 2006


2

TYPE CMD nella ricerca e quando viene visualizzato il prompt dei comandi nel risultato della ricerca BEST MATCH, fare clic con il pulsante destro del mouse e selezionare "Esegui come amministratore" quando viene visualizzata la finestra di controllo utente selezionare "Sì". Apparirà la finestra del prompt dei comandi e dovresti vedere "C: / WINDOWS / system32>"

a questo punto basta digitare quello che vuoi, dovrebbe funzionare!


2

Aggiornamento di pip in Windows con -

python -m pip install --upgrade pip

e quindi eseguire l'installazione di pip con l'opzione --user -

pip install --user nome_pacchetto

ha risolto il mio problema.


2

Quando tutti i metodi menzionati hanno fallito, sono stato in grado di eseguire l'installazione scikit-learnseguendo le istruzioni dal sito ufficiale https://scikit-learn.org/stable/install.html .

Errore causato dal limite di lunghezza del percorso del file su Windows

Può accadere che pip non riesca a installare i pacchetti quando raggiunge il limite di dimensione del percorso predefinito di Windows se Python è installato in una posizione nidificata come la struttura della cartella AppData sotto la home directory dell'utente, ad esempio:

Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

In questo caso è possibile rimuovere tale limite nel registro di Windows utilizzando lo strumento regedit:

Digita "regedit" nel menu di avvio di Windows per avviare regedit.

Vai alla Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemchiave.

Modifica il valore della LongPathsEnabledproprietà di quella chiave e impostalo su 1.

Reinstallare scikit-learn (ignorando la precedente installazione interrotta):

pip install --exists-action=i scikit-learn


2

Ho risolto il problema riaprendo cmd in modalità amministrazione, attivando l'ambiente virtuale e installando di nuovo.

Questo era con Tensorflow 2.3.0 in un ambiente virtuale.


1
questa non è una risposta né una soluzione al problema.
Juliano Costa

2

Come è menzionato nell'errore che non c'è --user, quindi devi seguire questi passaggi

  1. Apri cmd o anaconda Navigator
  2. Apri la tua directory di installazione di python (per anaconda navigator devi specificare il percorso come C: / cd Anaconda
  3. Quindi l'ultimo è python -m pip install --user somepackagename

1

Ho riscontrato lo stesso problema durante il tentativo di installare tensorflow da un notebook jupyter utilizzando Anaconda. --user non ha funzionato.

conda install tensorflow ha funzionato per me e non ho dovuto modificare le impostazioni di sicurezza.



1

Avevo bisogno di installare da un file dei requisiti e stavo ottenendo questo errore, ma non volevo utilizzare l' --useropzione perché non volevo installarlo nella posizione descritta da @ not2qubit . Quindi ho eseguito CMD come amministratore e quindi ho abilitato la condivisione della seguente directory ( clic destro> proprietà> Condivisione> Condividi ... ):

C:\Users\<my user name>\AppData\Local\Temp

Dopo averlo fatto, sono stato in grado di installare dal mio file dei requisiti nella directory dell'applicazione (dove volevo) invece della directory pazza ..\AppDatasenza l'errore.


soluzione interessante. Generalmente non andrei mai a fare confusione nelle proprietà di Windows, specialmente per la condivisione , poiché potrebbe attivare tutti i tipi di servizi se non attento.
not2qubit

1

prova questo in Windows:

installazione pip -U <Package_Name>


1

Questo funziona nel mio caso:

pip install --user --upgrade pip

Altrimenti apri il prompt dei comandi con Esegui come amministratore e fai la stessa cosa.


0

Questo dovrebbe funzionare.

pip install --user <package_name>

0

Nel mio caso, ho disabilitato McAfee e quindi ho installato con successo tensorflow2.0 RC


0

L'utilizzo di un prompt dei comandi elevato ha funzionato a meraviglia. Tutto quello che devi fare è correre

pip install <package-name>

Con un privilegio amministrativo.


0

È così che ho risolto questo problema.

downgrade a python 3.6.x 64bit. Ho installato3.6.8 64 bit.

installa virtualenv da pip installa virtualenv

aggiorna pip all'ultima versione, per me è 19.3

vai alla cartella in cui desideri creare un ambiente virtuale e digita virtualenv ENV dopo aver creato l'ambiente virtuale, vai alla sottocartella \ PATH \ ENV \ Script ed esegui activ.bat. Ora sarai nell'ambiente virtuale.

pip install rasa Il problema è che tensorflow 15 richiede python a 64 bit con non più di 3.6


0

Prova questo se nulla funziona in caso di errore di autorizzazione, questo lo risolverà.

sudo chown user -R env

come esempio per il mio caso

sudo chown ubuntu -R venv


La domanda se per un sistema Windows non esiste sudo in Windows PowerShell o cmd.
Touten


0

Ho avuto lo stesso problema durante l'aggiunta di Flask. Quindi usato uno dei comandi precedenti.

pip install --ignore-installed --upgrade --user flask

Ho ricevuto solo un piccolo avvertimento e ha funzionato !!

Installazione dei pacchetti raccolti: fare clic su, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask ATTENZIONE: lo script flask.exe è installato in "C: \ Users \ Admin \ AppData \ Roaming \ Python \ Python38 \ Scripts" che non è su PATH. Considera l'idea di aggiungere questa directory a PATH o, se preferisci eliminare questo avviso, usa --no-warn-script-location. Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0 installato correttamente ATTENZIONE: Stai utilizzando pip versione 20.1.1; tuttavia, è disponibile la versione 20.2. Dovresti considerare l'aggiornamento tramite il comando "c: \ python38 \ python.exe -m pip install --upgrade pip".


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.