Pyjnius: Instalação para PyJNIus - PermissionError: [WinError 5] Acesso negado

Criado em 9 abr. 2020  ·  15Comentários  ·  Fonte: kivy/pyjnius

Eu tentei as seguintes medidas, mas ainda aparece um erro

Execute o cmd na função de administrador
Definir-me como arquivos pycham e python na função de administrador
Pip install usado --user PyJNIus
Python -m pip install usado --user PyJNIus
Fechou Pycham e execute cmd na função de administrador
Já estou tendo o direito de acesso mais alto para todos os arquivos
Alguém pode me ajudar?

C:\WINDOWS\system32>python -m pip install --user PyJNIus
Collecting PyJNIus
  Using cached pyjnius-1.2.1.tar.gz (40 kB)
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\tom\AppData\Local\Programs\Python\Python38-32\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\tom\\AppData\\Local\\Temp\\pip-install-ueh9n_76\\PyJNIus\\setup.py'"'"'; __file__='"'"'C:\\Users\\tom\\AppData\\Local\\Temp\\pip-install-ueh9n_76\\PyJNIus\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\tom\AppData\Local\Temp\pip-install-ueh9n_76\PyJNIus\pip-egg-info'
         cwd: C:\Users\tom\AppData\Local\Temp\pip-install-ueh9n_76\PyJNIus\
    Complete output (15 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\tom\AppData\Local\Temp\pip-install-ueh9n_76\PyJNIus\setup.py", line 92, in <module>
        compile_native_invocation_handler(*get_possible_homes(PLATFORM))
      File "C:\Users\tom\AppData\Local\Temp\pip-install-ueh9n_76\PyJNIus\setup.py", line 82, in compile_native_invocation_handler
        subprocess.check_call([
      File "C:\Users\tom\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 359, in check_call
        retcode = call(*popenargs, **kwargs)
      File "C:\Users\tom\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 340, in call
        with Popen(*popenargs, **kwargs) as p:
      File "C:\Users\tom\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 854, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "C:\Users\tom\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1307, in _execute_child
        hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
    PermissionError: [WinError 5] Acess denied
awaiting-reply

Comentários muito úteis

Reescrevi env.py - que faz as buscas no JDK / JRE - alguns meses atrás, e é uma solicitação pull excelente - consulte https://github.com/kivy/pyjnius/pull/541 - então, pessoalmente, não quero depurar a versão mais antiga!

Todos 15 comentários

Hm, você tem javac / ant na máquina? Suspeito que ele simplesmente não consiga executar um programa que está faltando (e eu vi o Windows relatar isso como um erro de permissão no passado, em vez de um erro de arquivo não encontrado).

Teremos que adicionar um destino python3.8 à versão, para que seja mais fácil de instalar lá.
editar: na verdade, temos um lançamento para python3.8, mas apenas para amd64, ao que parece, e você tem um python de 32 bits.

Oi....

Estou trabalhando com Python 3.7 (32 bits) no Windows 10 e vejo o mesmo erro depois de executar "pip install pyjnius" na janela CMD. Depois de pesquisar na web, as sugestões que mais surgiram foram sobre as permissões de arquivo e a execução do comando como Administrador. Ambos não funcionaram.

Também tentei o seguinte e não adiantou:

1.) Desinstale o Python, reinstale o Python 3.7.7 (32 bits) e, em seguida, "pip install pyjnius"

2.) Baixe o arquivo gz real em https://github.com/kivy/pyjnius/releases/download/1.3.0/pyjnius-1.3.0.tar.gz.
a.) Descompacte o arquivo.
b.) Abriu a janela CMD
c.) Foi para o diretório baixado, C: UsersHomeDownloadspyjnius-1.3.0.tardistpyjnius-1.3.0pyjnius-1.3.0
d.) Executado o seguinte comando: executado o seguinte comando: python setup.py

3.) Tentativa de instalação a partir de seu repositório git.
a.) Tentei - pip install git + git: //github.com/kivy/pyjnius.git#egg=pyjnius
b.) Tentei - pip install git + https://github.com/kivy/pyjnius.git#egg = pyjnius

Qualquer ajuda seria apreciada...

O erro é o seguinte:

Traceback (última chamada mais recente):
Arquivo "setup.py", linha 95, em
compile_native_invocation_handler ( get_possible_homes (PLATFORM))Arquivo "setup.py", linha 87, em compile_native_invocation_handlerjunção ('jnius', 'src', 'org', 'jnius', 'NativeInvocationHandler.java')Arquivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", linha 358, em check_callretcode = call ( popenargs, * kwargs)Arquivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", linha 339, na chamadacom Popen ( popenargs, ** kwargs) como p:
Arquivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", linha 800, em __init__
restore_signals, start_new_session)
Arquivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", linha 1207, em _execute_child
startupinfo)
PermissionError: [WinError 5] Acesso negado

este erro também pode ser reportado quando o programa que tentamos executar não é encontrado, aqui o setup.py tenta executar ant / javac para construir algum código java, então eu acho que falha por não encontrá-lo no caminho, você pode verificar que você tem os dois?

Mas eu me pergunto por que você está usando um python de 32 bits? nós fornecemos apenas uma roda para a versão de 64 bits, talvez pudéssemos fornecer uma para a versão de 32 bits, mas é um pouco trabalhoso, e neste ponto realmente parece que as pessoas deveriam ter saído disso, você não pode instalar o 64 lançamento de bits de python? Se você fizer isso, o pyjnius deverá instalar sem a necessidade de qualquer compilação.

Oi gabriel,

Obrigado pelo feedback. Analisarei a instalação da versão de 64 bits do Python e, em seguida, o pyjnius. Se tudo funcionar bem, vou deixar uma nota aqui.

Isso ajudou?

Oi @tshirtman

Fui em frente e instalei a versão Python de 64 bits e instalei o módulo pyjnius sem problemas.

Eu me perguntei: "Por que você está usando a versão de 32 bits?" e eu realmente não consegui encontrar uma boa resposta. Então, fiz um inventário e instalei os módulos que tenho em 32 bits, em 64 bits e depois de atualizar o PATH, cada um dos meus arquivos .py está rodando bem.

Obrigado e agradeço o acompanhamento ...

:)

excelente!

Comecei a dar uma olhada no edifício para windows 32 bits btw (# 536), e parece que temos algumas coisas para consertar, então talvez isso aconteça, mas não sei quando, então é uma boa coisa você poder mudar em: D.

Olá,
isso pode valer a pena notar.
Eu não tenho o python instalado como um aplicativo de 32 bits, embora eu suspeite que isso tenha algo a ver com um python de 32 bits sendo instalado sob appdata (embora, eu não tenha nenhuma lembrança de que instalei como um aplicativo de 32 bits).
Eu tive que abrir um prompt de comando elevado, atravessar para a pasta python em arquivos de programa e executar o comando
.python.exe -m pip install pyjnius
para instalar corretamente o pyjnius.

Não tenho certeza de quão útil / inútil isso é.

Eu encontrei esse problema hoje. Eu estava inicialmente usando o Python 3.8 de 32 bits (não tenho ideia de por que instalei o 32 bits em vez de 64 bits) e então vi esse problema e atualizei para o python 3.9 de 64 bits. Após a atualização, ainda tive o mesmo problema durante a compilação. Tentei com prompt de comando elevado, indo para o diretório de instalação real do python e executando o comando conforme mencionado no comentário anterior, mas ainda não consegui fazê-lo funcionar.

Em seguida, dei uma olhada no pypi e vi que as rodas são fornecidas para o python 3.8 de 64 bits, então mudei para essa versão e pedi para instalar o pyjnius.

Seria bom se isso pudesse ficar mais claro na documentação para que o processo de instalação seja mais fácil para novos usuários. Especialmente porque não parece que o pyjnius ainda pode ser instalado com o python 3.9 no Windows.

Então, é o caso de você ter um JRE em vez de um JDK?
Javac está no seu caminho?

Tenho o OpenJDK 11 (jdk-11.0.8.10-hotspot) instalado e sim, javac está no meu caminho.

Então 3.9 está agora no script de ação github de implantação contínua (há 4 dias) - consulte https://github.com/kivy/pyjnius/blob/master/.github/workflows/create.yml#L13 - então eu acho que a próxima versão terá uma distribuição binária para Python 3.9 64 bits no Windows.

É bom ouvir isso!

Alguma ideia de por que há problemas durante a instalação por meio do pip e nenhum pacote pré-compilado está disponível? Dei uma olhada rápida no script setup.py, bem como no script env.py, para ver como os caminhos são determinados e AFAICT, não deve haver erros de permissão (ou erros de arquivo não encontrado), pois o caminho para javac deve ter sido resolvido corretamente.

Reescrevi env.py - que faz as buscas no JDK / JRE - alguns meses atrás, e é uma solicitação pull excelente - consulte https://github.com/kivy/pyjnius/pull/541 - então, pessoalmente, não quero depurar a versão mais antiga!

Eu tenho o mesmo problema, mas poderia instalá-lo usando o Anaconda Anaconda no aplicativo Ubuntu no windows 10 >> porque o próprio Anaconda não é fácil de lidar

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ignertic picture ignertic  ·  4Comentários

Hukuta picture Hukuta  ·  5Comentários

apalala picture apalala  ·  7Comentários

ghost picture ghost  ·  3Comentários

stania picture stania  ·  6Comentários