Pyjnius: Instalación para PyJNIus - PermissionError: [WinError 5] Acceso denegado

Creado en 9 abr. 2020  ·  15Comentarios  ·  Fuente: kivy/pyjnius

He intentado las siguientes medidas, pero sigue apareciendo un error

Ejecute el cmd en función de administrador
Establecerme como archivos pycham y python en función de administrador
Instalación de pip usada --user PyJNIus
Python usado -m pip install --user PyJNIus
Cerró Pycham y ejecute cmd en función de administrador
Ya tengo el derecho de acceso más alto para todos los archivos.
¿Puede alguien ayudarme?

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

Comentario más útil

Reescribí env.py , que hace las búsquedas del JDK / JRE, hace unos meses, y es una solicitud de extracción excepcional, consulte https://github.com/kivy/pyjnius/pull/541 - así que, personalmente, ¡no quiero depurar la versión anterior!

Todos 15 comentarios

Hm, ¿tiene javac / ant en la máquina? Sospecho que simplemente no puede ejecutar un programa que falta (y he visto que Windows informa eso como un error de permiso en el pasado, en lugar de un error de archivo no encontrado).

Tendremos que agregar un objetivo python3.8 a la versión, por lo que será más fácil de instalar allí.
editar: en realidad tenemos una versión para python3.8, pero parece que solo para amd64, y tienes una python de 32 bits.

Hola....

Estoy trabajando con Python 3.7 (32 bits) en Windows 10 y veo el mismo error después de ejecutar "pip install pyjnius" en la ventana de CMD. Después de buscar en la web, las sugerencias que aparecieron más fueron sobre permisos de archivos y ejecución del comando como administrador. Ambos no funcionaron.

También probé lo siguiente y fue en vano:

1.) Desinstale Python, reinstale Python 3.7.7 (32 bits), luego "pip install pyjnius"

2.) Descargue el archivo gz real de https://github.com/kivy/pyjnius/releases/download/1.3.0/pyjnius-1.3.0.tar.gz.
a.) Descomprime el archivo.
b.) Abrió la ventana CMD
c.) Fue al directorio descargado, C: UsersHomeDownloadspyjnius-1.3.0.tardistpyjnius-1.3.0pyjnius-1.3.0
d.) Ejecutó el siguiente comando: ejecutó el siguiente comando: python setup.py

3.) Intentó instalar desde su repositorio git.
a.) Probado - pip install git + git: //github.com/kivy/pyjnius.git#egg=pyjnius
b.) Probado - pip install git + https://github.com/kivy/pyjnius.git#egg = pyjnius

Cualquier ayuda sería apreciada...

El error es el siguiente:

Rastreo (llamadas recientes más última):
Archivo "setup.py", línea 95, en
manipulador_invocación_compile_nativa ( obtener_homes_posibles (PLATAFORMA))Archivo "setup.py", línea 87, en compile_native_invocation_handlerunirse ('jnius', 'src', 'org', 'jnius', 'NativeInvocationHandler.java')Archivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", línea 358, en check_callretcode = llamar ( popenargs, * kwargs)Archivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", línea 339, en la llamadacon Popen ( popenargs, ** kwargs) como p:
Archivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", línea 800, en __init__
restore_signals, start_new_session)
Archivo "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", línea 1207, en _execute_child
startupinfo)
PermissionError: [WinError 5] Acceso denegado

este error también se puede informar cuando el programa que intentamos ejecutar no se encuentra, aquí el setup.py intenta ejecutar ant / javac para construir un código java, así que creo que falla por no encontrarlo en la ruta, ¿puedes verificar que tienes ambos?

Pero me pregunto por qué estás usando una Python de 32 bits. solo proporcionamos una rueda para la versión de 64 bits, tal vez podríamos proporcionar una para la versión de 32 bits, pero es un poco de trabajo, y en este punto realmente parece que la gente debería haberse movido de eso, ¿no puedo instalar el 64 poco lanzamiento de Python? Si hace eso, pyjnius debería instalarse sin necesidad de compilación.

Hola Gabriel,

Gracias por la respuesta. Buscaré instalar la versión de 64 bits de Python, luego pyjnius. Si todo funciona bien, dejaré una nota aquí.

¿Te ayudó?

Hola @tshirtman

Seguí adelante e instalé la versión de Python de 64 bits e instalé el módulo pyjnius sin problemas.

Me pregunté: "¿Por qué estás usando la versión de 32 bits?" y realmente no pude encontrar una buena respuesta. Entonces, hice un inventario e instalé los módulos que tengo en 32 bits, en 64 bits y después de actualizar el PATH, cada uno de mis archivos .py se está ejecutando bien.

Gracias y agradezco el seguimiento ...

:)

¡estupendo!

Comencé a echar un vistazo a la construcción para Windows de 32 bits por cierto (# 536), y parece que tenemos un par de cosas que arreglar, así que tal vez eso suceda, pero no sé cuándo, por lo que es bueno que puedas mudarte. en: D.

Hola,
esto podría valer la pena señalar.
No tengo Python instalado como una aplicación de 32 bits, aunque sospecho que esto tiene algo que ver con una Python de 32 bits que se está instalando en appdata (aunque, no tengo ningún recuerdo de que lo instalé como una aplicación de 32 bits).
De hecho, tuve que abrir un símbolo del sistema elevado, ir a la carpeta de python en los archivos de programa y ejecutar el comando
.python.exe -m pip instalar pyjnius
para instalar correctamente pyjnius.

No estoy seguro de cuán útil / inútil es esto.

Hoy me encontré con este problema. Inicialmente estaba usando Python 3.8 de 32 bits (no tengo idea de por qué tenía 32 bits instalados en lugar de 64 bits) y luego vi este problema y actualicé a Python 3.9 de 64 bits. Después de actualizar, todavía me encontré con el mismo problema al compilar. Intenté con el símbolo del sistema elevado, yendo al directorio de instalación real para Python y ejecutando el comando como se menciona en el comentario anterior, pero aún no pude hacerlo funcionar.

Luego eché un vistazo a pypi y vi que se proporcionan ruedas para python 3.8 de 64 bits, así que cambié a esa versión y obtuve la instalación de pyjnius.

Sería bueno si esto se pudiera aclarar en la documentación para que el proceso de instalación sea más fácil para los nuevos usuarios. Especialmente porque no parece que pyjnius se pueda instalar con python 3.9 en Windows todavía.

Entonces, ¿es el caso de que tenga un JRE en lugar de un JDK?
¿Está javac en tu camino?

Tengo OpenJDK 11 (jdk-11.0.8.10-hotspot) instalado y sí, javac está en mi camino.

Entonces 3.9 está ahora en el script de acción de github de implementación continua (a partir de hace 4 días); consulte https://github.com/kivy/pyjnius/blob/master/.github/workflows/create.yml#L13 , así que creo que la próxima versión tendrá una distribución binaria para Python 3.9 de 64 bits en Windows.

¡Eso es bueno escuchar!

¿Alguna idea de por qué hay problemas al instalar a través de pip y no hay paquetes preconstruidos disponibles? Eché un vistazo rápido al script setup.py, así como al script env.py para ver cómo se determinan las rutas y AFAICT, no debería haber habido errores de permiso (o errores de archivo no encontrado) ya que la ruta a javac debería haberse resuelto correctamente.

Reescribí env.py , que hace las búsquedas del JDK / JRE, hace unos meses, y es una solicitud de extracción excepcional, consulte https://github.com/kivy/pyjnius/pull/541 - así que, personalmente, ¡no quiero depurar la versión anterior!

Tengo el mismo problema, pero podría instalarlo usando Anaconda Anaconda en la aplicación Ubuntu en Windows 10 >> porque Anaconda en sí no es fácil de manejar.

¿Fue útil esta página
0 / 5 - 0 calificaciones