Não foi possível instalar pacotes devido a um EnvironmentError: [WinError 5] Acesso negado:


88

Tenho o Windows 10. Concluí a instalação do Tensorflow. Funciona. Diz "Hello Tensorflow!". Mas tem tudo isso antes de você:

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!

O processo retornou 0 (0x0) tempo de execução: 2,327 s Pressione qualquer tecla para continuar

Quando digito pip3 install --upgrade tensorflow-gpucmb, administrativo e normal, recebo esta 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 themensagem --user option or check the permissions.Por favor me ajude. Não é um cientista da computação ou um engenheiro. Mas eu código para me divertir.


15
Adicione --userao pip3comando de instalação.
Zain Patel

6
Eu não entendo porque agora temos que usar --user? Porque isso supostamente instala no diretório do usuário, que pode não ser o que você deseja. 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
Eu realmente não quero instalar no diretório do usuário e executar o CMD como Administrador me dá os mesmos erros.
Michael Szczepaniak

Respostas:


80

Basta digitar o comando que deseja executar com a permissão do usuário, se não quiser alterar a permissão:

pip3 install --upgrade tensorflow-gpu --user

3
@Dylan Cooper, por favor, aceite esta resposta para que ninguém tenha que cavar em anos de respostas
PolarBear10

34

execute o mesmo comando usando '--user'


A mensagem de erro sugere "Considere usar a --useropção ou verifique as permissões". Eu adicionei o --user e ele foi resolvido
thanos.a

Portanto, não há diferença se você usa o comando sem ou com '--user'? porque é isso que você parece presumir ...
min

16

Descobri que, se executar o CMD como Administrador e executar o comando, posso instalá-lo sem problemas. Experimente e me dê algum feedback.


Isso e reiniciar após instalar o Python funcionou para mim.
Ryan_S

Isso funcionou para mim. Estranho que mesmo o Terminal do Windows como Administrador não funcionou.
howdoicode

Funciona para mim. Curiosamente, apenas abrir o CMD como administrador funcionou, ao passo que abrir Git Bash como administrador não funcionou.
Shlomi A

De fato, isso funciona, estranhamente o Windows PowerShell como administrador mostra a mensagem de acesso negado e diz que a instalação falhou, mas também funcionou
Joris,

11

apenas altere a permissão de acesso, onde o pacote específico será instalado.

No meu caso, windows10 :

  • vá para "C: \ Arquivos de programas (x86) \ Python37"
  • clique com o botão direito na pasta Python37 e clique em propriedades
  • Vá para a guia Segurança e permita o controle total clicando no botão Editar.
  • novamente abra o novo terminal cmd e tente instalar o pacote novamente.


9

Eu estava atualizando o tensorflow para 1.4.0 e estava batendo com a cabeça na parede porque este erro não estava resolvendo, mas finalmente resolvi. Adivinha?

Um dos meus scripts Python estava em execução e usando tensorflow 😂😂. Pacote instalado com sucesso após fechá-lo. 👍


1
Mesmo problema aqui.
Florin Marcus

Acho que tive o mesmo problema. Embora eu tenha eliminado todas as instâncias do Python por meio do gerenciador de tarefas, consegui instalá-lo após reiniciar meu computador.
mKay

7

Para mim (no Windows), tive que reiniciar o terminal e executá-lo como Administrador (se você estiver usando o terminal pycharm, basta fechar o pycharm, reabri-lo como administrador e tentar novamente). Isso resolveu o problema e a instalação foi bem-sucedida.

Boa sorte


3

Para instalar o tensorflow, use este comando incluindo --User.

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

Aqui 2.0.1 é a versão do tensorflow.


2

Digite CMD na pesquisa e quando o prompt de comando aparecer no resultado da pesquisa BEST MATCH, clique com o botão direito sobre ele e selecione 'Executar como Administrador' quando a janela de controle do usuário aparecer selecione 'Sim'. A janela do prompt de comando aparecerá e você deverá ver "C: / WINDOWS / system32>"

neste ponto basta digitar o que deseja, deve funcionar!


2

Atualizando pip no Windows com -

python -m pip install --upgrade pip

e então executando pip install com a opção --user -

pip install - usuário nome_do_pacote

resolveu meu problema.


2

Quando todos os métodos mencionados falharam, fui capaz de instalar scikit-learnseguindo as instruções do site oficial https://scikit-learn.org/stable/install.html .

Erro causado pelo limite de comprimento do caminho do arquivo no Windows

Pode acontecer que o pip falhe ao instalar pacotes ao atingir o limite de tamanho do caminho padrão do Windows se o Python estiver instalado em um local aninhado, como a estrutura da pasta AppData no diretório inicial do usuário, por exemplo:

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'

Nesse caso, é possível aumentar esse limite no registro do Windows usando a ferramenta regedit:

Digite “regedit” no menu Iniciar do Windows para iniciar o regedit.

Vá para a Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemchave.

Edite o valor da LongPathsEnabledpropriedade dessa chave e defina-o como 1.

Reinstale o scikit-learn (ignorando a instalação anterior interrompida):

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


2

Isso deve funcionar

pip install --user requests

1
Por que isso vai funcionar. Forneça mais explicações sobre sua resposta.
DevMike01

2

Como é mencionado no erro que não há --user, então você deve seguir estes passos

  1. Abra o cmd ou o anaconda Navigator
  2. Abra seu diretório de instalação do python (para o navegador anaconda você deve especificar o caminho como C: / cd Anaconda
  3. O último é python -m pip install --user somepackagename

1

Oh meu. Existem tantas respostas ruins aqui. Bem intencionado, mas enganoso. Geralmente, estou bem em lidar com permissões em Mac / Linux. O Windows é novo para mim hoje em dia. Esse é o problema que eu tive.

  1. Crie um virtualenv - ok
  2. activatemeu virtualenv - falhou. Precisa de escopo para executar o PowerShell. O Windows é útil e informa exatamente o comando que você precisa executar para permitir que o .ps seja executado. Mais ou menos assim, chmodmas com uma execução scopeque eu acho boa.
  3. Agora, se você já passou do acima e instalou alguns pacotes, tudo bem. Até que você de repente não consegue. Então você obtém este erro de permissão.
  4. Algo que você ou outro processo definiu a permissão na pasta onde o pip instala os pacotes. ou seja, ...site-packages/no meu caso, eu suspeito que seja OneDrive ou alguma herança de permissão.

A maneira ideal de avançar é verificar as permissões. Isso é difícil, mas você é um desenvolvedor Python, não é! Primeiro verifique seu próprio usuário.

  1. whoami por exemplo, meu computador \ vangel
  2. Get-Acl <path which is an issue>
  3. na pasta de instalação do Python ou em seu virtualenv, clique com o botão direito e vá para a guia Segurança. Clique em permissões avançadas e analise as permissões. Eu removi todas as permissões herdadas e outros usuários etc e adicionei meu whoamiusuário explicitamente com permissões totais. então aplicado a todos os objetos.

Não faça isso sem verificar as etapas abaixo. Leia a mensagem com atenção.

De forma alguma é a solução para todos os problemas de permissão que podem afetá-lo. Só posso fornecer orientação sobre como solucionar problemas e espero que você resolva.

configurar o --usersinalizador não é necessário em nenhum lugar, se funcionar bem para você. Mas você ainda não sabe o que deu errado.

Mais etapas: Tente remover um pacote e instalá-lo. pip uninstall requests pip install requests Isso funciona, mas recebo problemas de permissão para um pacote específico.

Acontece que o Windows dá erro de permissão quando o arquivo é bloqueado por um processo. Python relata como [Winerror 5]e eu não consegui encontrar facilmente essa referência de documentação de qualquer maneira. vamos testar essa teoria.

Encontro o arquivo exato que obtém erro de permissão. Clique em delete. Com certeza o windowprompt do Windows que está aberto em pythonClaro que é.

Encontrei end taskem todos os python. Funcionou desde 1996. Mas esperei alguns segundos para o caso de algum processo estar iniciando python. Verificado Task managertudo bem.

Tendo falhado 20 vezes em fazer com que o pip instalasse o pacote azureml específico, eu tinha certeza que isso resolveu o problema.

Eu executei meu pip install e ele instalou perfeitamente bem.

Moral da história: entenda o que você está fazendo antes de copiar e colar do Stackoverflow. Muito bem sucedida.

ps Por favor, pare de instalar o Python ou seus pacotes como administrador. Já passamos disso desde 2006


1

Resolvi isso reabrindo o cmd no modo de administração, ativando o env virtual e instalando novamente.

Isso foi com Tensorflow 2.3.0 em um ambiente virtual.


isso não é uma resposta nem solução para o problema.
Juliano Costa

0

No meu caso, desativei o McAfee e instalei com sucesso o tensorflow2.0 RC


0

Usar um prompt de comando elevado fez maravilhas. Tudo que você precisa fazer é correr

pip install <package-name>

Com privilégio administrativo.


0

Foi assim que resolvi esse problema.

downgrade para python 3.6.x 64bit. Eu instalei 3.6.8 64 bits.

instalar virtualenv por pip instalar virtualenv

atualize o pip para a versão mais recente, para mim é 19.3

vá até a pasta que deseja criar um ambiente virtual e digite virtualenv ENV após ter criado o ambiente virtual, vá até a subpasta \ PATH \ ENV \ Script e execute activate.bat. Agora você estará no ambiente virtual.

pip install rasa O problema é que o tensorflow 15 requer python de 64 bits com no máximo 3,6


0

Eu experimentei o mesmo problema ao tentar instalar o tensorflow de um notebook jupyter usando o Anaconda. --user não funcionou.

conda install tensorflow funcionou para mim e não precisei alterar nenhuma configuração de segurança.


0

Tente fazer isso se nada funcionar em caso de erro de permissão, isso vai resolver o problema.

sudo chown user -R env

como um exemplo para o meu caso

sudo chown ubuntu -R venv




0

Eu precisava instalar a partir de um arquivo de requisitos e estava recebendo este erro, mas não queria usar a --useropção porque não queria instalar no local descrito por @ not2qubit . Então, executei o CMD como administrador e habilitei o compartilhamento do seguinte diretório ( clique com o botão direito> propriedades> Compartilhamento> Compartilhar ... ):

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

Depois de fazer isso, fui capaz de instalar a partir do meu arquivo de requisitos no diretório do aplicativo (onde eu queria) em vez do ..\AppDatadiretório louco sem o erro.


0

Eu tive o mesmo problema ao adicionar o Flask. Então usei um dos comandos acima.

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

Recebi apenas um pequeno aviso e funcionou !!

Instalando pacotes coletados: click, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask AVISO: O script flask.exe está instalado em 'C: \ Users \ Admin \ AppData \ Roaming \ Python \ Python38 \ Scripts' que não está no PATH. Considere adicionar este diretório ao PATH ou, se preferir suprimir este aviso, use --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 instalado com sucesso AVISO: Você está usando a versão 20.1.1 do pip; entretanto, a versão 20.2 está disponível. Você deve considerar a atualização por meio do comando 'c: \ python38 \ python.exe -m pip install --upgrade pip'.



-1

Isso deve funcionar.

pip install --user <package_name>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.