Pyjnius: Installation für PyJNIus - PermissionError: [WinError 5] Zugriff verweigert

Erstellt am 9. Apr. 2020  ·  15Kommentare  ·  Quelle: kivy/pyjnius

Ich habe die folgenden Maßnahmen versucht, aber der Fehler taucht immer noch auf

Führen Sie das cmd in der Administratorrolle aus
Legen Sie mich als pycham- und python-Dateien in der Administratorrolle fest
Verwendete pip install --user PyJNIus
Verwendetes Python -m pip install --user PyJNIus
Pycham geschlossen und cmd in der Administratorrolle ausführen
Ich habe bereits das höchste Zugriffsrecht für alle Dateien
Kann mir jemand helfen?

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

Hilfreichster Kommentar

Ich habe env.py umgeschrieben – was die Jagd auf das JDK/JRE erledigt – vor ein paar Monaten, und es ist ein herausragender Pull Request – siehe https://github.com/kivy/pyjnius/pull/541 – Also persönlich möchte ich die ältere Version nicht debuggen!

Alle 15 Kommentare

Hm, hast du javac/ant auf der Maschine? Ich vermute, dass es einfach nicht in der Lage ist, ein fehlendes Programm auszuführen (und ich habe gesehen, dass Windows dies in der Vergangenheit als Berechtigungsfehler gemeldet hat, anstatt als Fehler einer nicht gefundenen Datei).

Wir müssen dem Release ein Python3.8-Ziel hinzufügen, damit es dort einfacher zu installieren ist.
Bearbeiten: Eigentlich haben wir eine Version für Python3.8, aber anscheinend nur für AMD64, und Sie haben ein 32-Bit-Python.

Hi....

Ich arbeite mit Python 3.7 (32-Bit) unter Windows 10 und sehe den gleichen Fehler, nachdem ich "pip install pyjnius" im CMD-Fenster ausgeführt habe. Nach der Suche im Internet betrafen die Vorschläge, die am häufigsten auftauchten, Dateiberechtigungen und das Ausführen des Befehls als Administrator. Beides hat nicht funktioniert.

Folgendes habe ich auch probiert, leider ohne Erfolg:

1.) Python deinstallieren, Python 3.7.7 (32-Bit) neu installieren, dann "pip install pyjnius"

2.) Laden Sie die aktuelle gz-Datei von https://github.com/kivy/pyjnius/releases/download/1.3.0/pyjnius-1.3.0.tar.gz herunter.
a.) Dekomprimieren Sie die Datei.
b.) Das CMD-Fenster geöffnet
c.) Ging zum heruntergeladenen Verzeichnis C:UsersHomeDownloadspyjnius-1.3.0.tardistpyjnius-1.3.0pyjnius-1.3.0
d.) folgenden Befehl ausgeführt: folgenden Befehl ausgeführt: python setup.py

3.) Es wurde versucht, aus seinem Git-Repository zu installieren.
a.) Versucht - pip install git+git://github.com/kivy/pyjnius.git#egg=pyjnius
b.) Versucht - pip install git+ https://github.com/kivy/pyjnius.git#egg =pyjnius

Jede Hilfe wäre dankbar...

Der Fehler ist wie folgt:

Traceback (letzter Anruf zuletzt):
Datei "setup.py", Zeile 95, in
compilieren_native_invocation_handler( get_possible_homes(PLATFORM))Datei "setup.py", Zeile 87, in compile_native_invocation_handlerjoin('jnius', 'src', 'org', 'jnius', 'NativeInvocationHandler.java')Datei "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", Zeile 358, in check_callretcode = call( popenargs, *kwargs)Datei "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", Zeile 339, im Aufrufmit Popen( popenargs, **kwargs) als p:
Datei "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", Zeile 800, in __init__
restore_signals, start_new_session)
Datei "C:UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", Zeile 1207, in _execute_child
Startinfo)
PermissionError: [WinError 5] Zugriff verweigert

Dieser Fehler kann auch gemeldet werden, wenn das Programm, das wir ausführen möchten, nicht gefunden wird. Hier versucht die setup.py, ant/javac auszuführen, um Java-Code zu erstellen dass du beides hast?

Aber ich frage mich, warum Sie ein 32-Bit-Python verwenden? Wir bieten nur ein Rad für die 64-Bit-Version an, vielleicht könnten wir eines für die 32-Bit-Version bereitstellen, aber es ist ein bisschen Arbeit, und an diesem Punkt fühlt es sich wirklich so an, als hätten die Leute davon Abstand nehmen sollen, kann man die 64 nicht installieren? Bit-Release von Python? Wenn Sie dies tun, sollte pyjnius installiert werden, ohne dass eine Kompilierung erforderlich ist.

Hallo Gabriel,

Danke für die Rückmeldung. Ich werde versuchen, die 64-Bit-Version von Python zu installieren, dann pyjnius. Wenn alles gut funktioniert, schreibe ich hier eine Notiz.

Hat es geholfen?

Hallo @tshirtman

Ich habe die 64-Bit-Python-Version installiert und das pyjnius-Modul ohne Probleme installiert.

Ich habe mich gefragt: "Warum verwenden Sie die 32-Bit-Version?" und ich konnte keine wirklich gute Antwort finden. Also habe ich eine Bestandsaufnahme gemacht und die Module, die ich in 32-Bit habe, in 64-Bit installiert und nach der Aktualisierung des PATH wird jede meiner .py-Dateien einwandfrei ausgeführt.

Danke und ich freue mich über die Fortsetzung...

:)

groß!

Ich habe angefangen, mir das Bauen für Windows 32 Bit btw (#536) anzuschauen, und es scheint, dass wir ein paar Dinge zu reparieren haben, also wird das vielleicht kommen, aber ich weiß nicht wann, so gut, dass Sie umziehen könnten auf :D.

Hallo,
das ist vielleicht erwähnenswert.
Ich habe Python nicht als 32-Bit-App installiert, obwohl ich vermute, dass dies etwas damit zu tun hat, dass ein 32-Bit-Python unter appdata installiert wird (obwohl ich mich nicht daran erinnern kann, dass ich es als 32-Bit-Anwendung installiert habe).
Ich musste tatsächlich eine erhöhte Eingabeaufforderung öffnen und zum Python-Ordner unter Programmdateien wechseln und den Befehl ausführen
.python.exe -m pip install pyjnius
um pyjnius richtig zu installieren.

Ich bin mir nicht sicher, wie nützlich / nutzlos das ist.

Ich bin heute auf dieses Problem gestoßen. Ich habe anfangs Python 3.8 32-Bit verwendet (keine Ahnung, warum ich 32-Bit anstelle von 64-Bit installiert hatte) und habe dann dieses Problem gesehen und auf Python 3.9 64-Bit aktualisiert. Nach dem Upgrade trat beim Kompilieren immer noch das gleiche Problem auf. Ich habe es mit einer erhöhten Eingabeaufforderung versucht, das eigentliche Installationsverzeichnis für Python aufgerufen und den Befehl wie im vorherigen Kommentar erwähnt ausgeführt, aber ich konnte ihn immer noch nicht zum Laufen bringen.

Ich habe mir dann pypi angeschaut und gesehen, dass Räder für Python 3.8 64-Bit bereitgestellt werden, also bin ich auf diese Version umgestiegen und habe pyjnius installiert.

Es wäre schön, wenn dies in der Dokumentation klarer gemacht werden könnte, damit der Installationsprozess für neue Benutzer einfacher ist. Zumal es so aussieht, als ob pyjnius noch nicht mit Python 3.9 unter Windows installiert werden kann.

Haben Sie also eher eine JRE als ein JDK?
Ist Javac auf Ihrem Weg?

Ich habe OpenJDK 11 (jdk-11.0.8.10-hotspot) installiert und ja, javac ist auf meinem Weg.

Also ist 3.9 jetzt im Continuous Deployment Github Action Script (Stand vor 4 Tagen) - siehe https://github.com/kivy/pyjnius/blob/master/.github/workflows/create.yml#L13 - so denke ich dass die nächste Version eine Binärdistribution für Python 3.9 64bit unter Windows haben wird.

Das ist gut zu hören!

Haben Sie eine Idee, warum es Probleme bei der Installation über pip gibt und keine vorgefertigten Pakete verfügbar sind? Ich habe einen kurzen Blick auf das setup.py-Skript sowie das env.py-Skript geworfen, um zu sehen, wie Pfade bestimmt werden und AFAICT es sollte keine Berechtigungsfehler (oder Datei-nicht gefunden-Fehler) gegeben haben, da der Pfad zu javac hätte aufgelöst werden sollen korrekt.

Ich habe env.py umgeschrieben – was die Jagd auf das JDK/JRE erledigt – vor ein paar Monaten, und es ist ein herausragender Pull Request – siehe https://github.com/kivy/pyjnius/pull/541 – Also persönlich möchte ich die ältere Version nicht debuggen!

Ich habe das gleiche Problem, aber ich könnte es mit Anaconda Anaconda in der Ubuntu App in Windows 10 installieren >> weil Anaconda selbst nicht einfach zu handhaben ist

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen