Pyjnius: Installation pour PyJNIus - PermissionError : [WinError 5] Accès refusé

Créé le 9 avr. 2020  ·  15Commentaires  ·  Source: kivy/pyjnius

J'ai essayé les mesures suivantes, mais l'erreur persiste

Exécutez le cmd dans le rôle d'administrateur
Me définir en tant que fichiers pycham et python dans le rôle d'administrateur
Installation de pip utilisé --user PyJNIus
python utilisé -m pip install --user PyJNIus
Fermeture de Pycham et exécution de cmd en tant qu'administrateur
J'ai déjà le droit d'accès le plus élevé pour tous les fichiers
Quelqu'un peut m'aider?

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

Commentaire le plus utile

J'ai réécrit env.py -- qui traque le JDK/JRE -- il y a quelques mois, et c'est une Pull Request exceptionnelle - voir https://github.com/kivy/pyjnius/pull/541 - donc personnellement je ne veux pas déboguer l'ancienne version !

Tous les 15 commentaires

Hm, avez-vous javac/ant sur la machine ? Je soupçonne qu'il est tout simplement incapable d'exécuter un programme manquant (et j'ai vu des fenêtres signaler cela comme une erreur d'autorisation dans le passé, au lieu d'une erreur de fichier introuvable).

Nous devrons ajouter une cible python3.8 à la version, il sera donc plus facile de l'installer là-bas.
edit: en fait, nous avons une version pour python3.8, mais seulement pour amd64 semble-t-il, et vous avez un python 32 bits.

Salut....

Je travaille avec Python 3.7 (32 bits) sur Windows 10 et je vois la même erreur après avoir exécuté "pip install pyjnius" dans la fenêtre CMD. Après une recherche sur le Web, les suggestions qui sont apparues le plus concernaient les autorisations de fichiers et l'exécution de la commande en tant qu'administrateur. Les deux n'ont pas fonctionné.

J'ai aussi essayé ce qui suit et cela n'a rien donné :

1.) Désinstallez Python, réinstallez Python 3.7.7 (32 bits), puis "pip install pyjnius"

2.) Téléchargez le fichier gz réel à partir de https://github.com/kivy/pyjnius/releases/download/1.3.0/pyjnius-1.3.0.tar.gz.
a.) Décompressez le fichier.
b.) Ouverture de la fenêtre CMD
c.) Je suis allé dans le répertoire téléchargé, C:UsersHomeDownloadspyjnius-1.3.0.tardistpyjnius-1.3.0pyjnius-1.3.0
d.) Exécuté la commande suivante : exécuté la commande suivante : python setup.py

3.) Tentative d'installation à partir de son référentiel git.
a.) Essayé - pip install git+git://github.com/kivy/pyjnius.git#egg=pyjnius
b.) Essayé - pip install git+ https://github.com/kivy/pyjnius.git#egg =pyjnius

Toute aide serait appréciée...

L'erreur est la suivante :

Traceback (appel le plus récent en dernier) :
Fichier "setup.py", ligne 95, dans
compile_native_invocation_handler( get_possible_homes(PLATFORM))Fichier "setup.py", ligne 87, dans compile_native_invocation_handlerjoin('jnius', 'src', 'org', 'jnius', 'NativeInvocationHandler.java')Fichier "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", ligne 358, dans check_callretcode = call( popenargs, *kwargs)Fichier "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", ligne 339, en appelavec Popen( popenargs, **kwargs) comme p :
Fichier "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", ligne 800, dans __init__
restore_signals, start_new_session)
Fichier "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", ligne 1207, dans _execute_child
informations de démarrage)
PermissionError : [WinError 5] L'accès est refusé

cette erreur peut également être signalée lorsque le programme que nous essayons d'exécuter n'est pas trouvé, ici le setup.py essaie d'exécuter ant/javac pour créer du code java, donc je pense qu'il échoue pour ne pas le trouver dans le chemin, pouvez-vous vérifier que tu as les deux ?

Mais je me demande pourquoi vous utilisez un python 32 bits ? nous ne fournissons qu'une roue pour la version 64 bits, peut-être pourrions-nous en fournir une pour la version 32 bits, mais c'est un peu de travail, et à ce stade, on a vraiment l'impression que les gens auraient dû s'en passer, ne pouvez-vous pas installer le 64 version peu de python? Si vous faites cela, pyjnius devrait s'installer sans avoir besoin de compilation.

Salut Gabriel,

Merci pour les commentaires. Je vais me pencher sur l'installation de la version 64 bits de Python, puis de pyjnius. Si tout fonctionne bien, je laisserai un mot ici.

Cela a-t-il aidé?

Salut @tshirtman

Je suis allé de l'avant et j'ai installé la version Python 64 bits et installé le module pyjnius sans problème.

Je me suis demandé : « Pourquoi utilisez-vous la version 32 bits ? » et je ne pouvais pas vraiment trouver une bonne réponse. J'ai donc fait un inventaire et installé les modules que j'ai en 32 bits, dans le 64 bits et après avoir mis à jour le PATH, chacun de mes fichiers .py s'exécute correctement.

Merci et j'apprécie le suivi...

:)

super!

J'ai commencé à jeter un œil à la construction de Windows 32 bits btw (#536), et il semble que nous ayons quelques problèmes à corriger, alors peut-être que cela viendra, mais je ne sais pas quand, alors c'est une bonne chose que vous puissiez déménager sur :D.

Bonjour,
cela mérite peut-être d'être noté.
Je n'ai pas installé python en tant qu'application 32 bits, bien que je soupçonne que cela a quelque chose à voir avec un python 32 bits installé sous appdata (bien que je ne me souvienne pas de l'avoir installé en tant qu'application 32 bits).
Je devais en fait ouvrir une invite de commande élevée et parcourir le dossier python sous les fichiers du programme et exécuter la commande
.python.exe -m pip installer pyjnius
pour installer correctement pyjnius.

Je ne sais pas à quel point c'est utile/inutile.

Je suis tombé sur ce problème aujourd'hui. J'utilisais initialement Python 3.8 32 bits (aucune idée de la raison pour laquelle j'avais installé 32 bits au lieu de 64 bits), puis j'ai vu ce problème et mis à niveau vers python 3.9 64 bits. Après la mise à niveau, j'ai toujours rencontré le même problème lors de la compilation. J'ai essayé avec une invite de commande élevée, en allant dans le répertoire d'installation réel de python et en exécutant la commande comme mentionné dans le commentaire précédent, mais je n'ai toujours pas réussi à le faire fonctionner.

J'ai ensuite jeté un coup d'œil à pypi et j'ai vu que des roues étaient fournies pour python 3.8 64 bits. Je suis donc passé à cette version et j'ai installé pyjnius.

Ce serait bien si cela pouvait être rendu plus clair dans la documentation afin que le processus d'installation soit plus facile pour les nouveaux utilisateurs. D'autant plus qu'il ne semble pas que pyjnius puisse encore être installé avec python 3.9 sur Windows.

Alors, est-ce que vous avez un JRE plutôt qu'un JDK ?
Javac est-il sur votre chemin ?

J'ai installé OpenJDK 11 (jdk-11.0.8.10-hotspot) et oui, javac est sur mon chemin.

Donc, 3.9 est maintenant sur le script d'action github de déploiement continu (il y a 4 jours) - voir https://github.com/kivy/pyjnius/blob/master/.github/workflows/create.yml#L13 - donc je pense que la prochaine version aura une distribution binaire pour Python 3.9 64 bits sous Windows.

Ça fait plaisir à entendre!

Avez-vous une idée de la raison pour laquelle il y a des problèmes lors de l'installation via pip et qu'aucun package pré-construit n'est disponible ? J'ai jeté un rapide coup d'œil au script setup.py ainsi qu'au script env.py pour voir comment les chemins sont déterminés et AFAICT il n'aurait dû y avoir aucune erreur d'autorisation (ou erreur de fichier introuvable) puisque le chemin d'accès à javac aurait dû être résolu correctement.

J'ai réécrit env.py -- qui traque le JDK/JRE -- il y a quelques mois, et c'est une Pull Request exceptionnelle - voir https://github.com/kivy/pyjnius/pull/541 - donc personnellement je ne veux pas déboguer l'ancienne version !

J'ai le même problème mais je pourrais l'installer en utilisant Anaconda Anaconda sur l'application Ubuntu dans Windows 10 >> car Anaconda lui-même n'est pas facile à gérer

Cette page vous a été utile?
0 / 5 - 0 notes