Pyjnius: Установка для PyJNIus - PermissionError: [WinError 5] Доступ запрещен

Созданный на 9 апр. 2020  ·  15Комментарии  ·  Источник: kivy/pyjnius

Я пробовал следующие меры, но ошибка все равно появляется

Запустите cmd в роли администратора
Установить себя как файлы pycham и python в роли администратора
Используемая установка pip --user PyJNIus
Используется python -m pip install --user PyJNIus
Закройте Pycham и запустите cmd в роли администратора.
У меня уже есть высшие права доступа ко всем файлам
Может кто-нибудь мне помочь?

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

Самый полезный комментарий

Я переписал env.py - который выполняет поиск JDK / JRE - несколько месяцев назад, и это выдающийся Pull Request - см. Https://github.com/kivy/pyjnius/pull/541 - так что лично я не хочу отлаживать старую версию!

Все 15 Комментарий

Хм, у вас на машине стоит javac / ant? Я подозреваю, что он просто не может запустить программу, которая отсутствует (и я видел, как Windows сообщала об этом как об ошибке разрешения в прошлом, а не об ошибке, связанной с отсутствием файла).

Придется добавить в релиз цель python3.8, чтобы ее было легче установить.
edit: на самом деле у нас есть выпуск для python3.8, но кажется, только для amd64, а у вас 32-битный питон.

Привет....

Я работаю с Python 3.7 (32-разрядная версия) в Windows 10, и я вижу ту же ошибку после запуска «pip install pyjnius» в окне CMD. После поиска в Интернете чаще всего появлялись предложения о разрешениях на файлы и выполнении команды от имени администратора. Оба варианта не сработали.

Я также пробовал следующее, но безрезультатно:

1.) Удалите Python, переустановите Python 3.7.7 (32-разрядную версию), затем «pip install pyjnius»

2.) Загрузите фактический файл gz с https://github.com/kivy/pyjnius/releases/download/1.3.0/pyjnius-1.3.0.tar.gz.
а.) Распаковать файл.
б.) Открыл окно CMD
c.) Перешел в загруженный каталог C: UsersHomeDownloadspyjnius-1.3.0.tardistpyjnius-1.3.0pyjnius-1.3.0
г.) ​​Выполнил следующую команду: выполнил следующую команду: python setup.py

3.) Попытка установить из репозитория git.
а.) Пробовал - pip install git + git: //github.com/kivy/pyjnius.git#egg=pyjnius
б.) Пробовал - pip install git + https://github.com/kivy/pyjnius.git#egg = pyjnius

Любая помощь будет оценена ...

Ошибка следующая:

Отслеживание (последний вызов последний):
Файл "setup.py", строка 95, в
compile_native_invocation_handler ( get_possible_homes (ПЛАТФОРМА))Файл "setup.py", строка 87, в compile_native_invocation_handlerприсоединиться ('jnius', 'src', 'org', 'jnius', 'NativeInvocationHandler.java')Файл "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", строка 358, в check_callretcode = вызов ( popenargs, * kwargs)Файл "C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py", строка 339, в вызовес Popen
Файл «C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py», строка 800, в __init__
restore_signals, start_new_session)
Файл «C: UsersHomeAppDataLocalProgramsPythonPython37-32libsubprocess.py», строка 1207, в _execute_child
startupinfo)
PermissionError: [WinError 5] Доступ запрещен

об этой ошибке также можно сообщить, когда программа, которую мы пытаемся запустить, не найдена, здесь setup.py пытается запустить ant / javac для создания некоторого java-кода, поэтому я думаю, что он не может найти его в пути, вы можете проверить что у вас есть оба?

Но мне интересно, почему вы используете 32-битный питон? мы предоставляем колесо только для 64-битной версии, возможно, мы могли бы предоставить его для 32-битной версии, но это немного работы, и на данный момент действительно кажется, что люди должны были перейти от этого, не могу ли вы установить 64 разрядный выпуск питона? Если вы это сделаете, pyjnius должен быть установлен без компиляции.

Привет, Габриэль,

Спасибо за ответ. Я посмотрю на установку 64-битной версии Python, а затем на pyjnius. Если все работает нормально, напишу здесь.

Это помогло?

Привет @tshirtman

Я пошел дальше и установил 64-битную версию Python и без проблем установил модуль pyjnius.

Я действительно спрашивал себя: «Почему вы используете 32-битную версию?» и я не мог придумать хороший ответ. Итак, я провел инвентаризацию и установил модули, которые у меня есть в 32-битной версии, в 64-битную, и после обновления PATH каждый из моих файлов .py работает нормально.

Спасибо, и я ценю дальнейшие действия ...

:)

большой!

Я начал смотреть на сборку для 32-битной Windows (# 536), и, похоже, у нас есть пара вещей, которые нужно исправить, так что, может быть, это произойдет, но я не знаю когда, так хорошо, что вы могли переместить на: D.

Привет,
это стоит отметить.
У меня нет python, установленного как 32-битное приложение, хотя я подозреваю, что это как-то связано с 32-битным питоном, установленным под appdata (хотя я не помню, что я установил его как 32-битное приложение).
Мне пришлось фактически открыть командную строку с повышенными правами, перейти в папку python в программных файлах и запустить команду
.python.exe -m pip установить pyjnius
чтобы правильно установить pyjnius.

Не уверен, насколько это полезно / бесполезно.

Я столкнулся с этой проблемой сегодня. Первоначально я использовал 32-разрядную версию Python 3.8 (не знаю, почему у меня была установлена ​​32-разрядная версия вместо 64-разрядной), а затем увидел эту проблему и обновился до 64-разрядной версии python 3.9. После обновления я все еще сталкивался с той же проблемой при компиляции. Пытался использовать командную строку с повышенными привилегиями, перейдя в фактический установочный каталог для python и выполнив команду, как указано в предыдущем комментарии, но я все еще не мог заставить ее работать.

Затем я взглянул на pypi и увидел, что колеса предназначены для 64-разрядной версии python 3.8, поэтому я переключился на эту версию и установил pyjnius.

Было бы неплохо, если бы это можно было прояснить в документации, чтобы облегчить процесс установки для новых пользователей. Тем более, что кажется, что pyjnius еще не может быть установлен с python 3.9 в Windows.

Так может быть, у вас JRE, а не JDK?
На вашем пути javac?

У меня установлен OpenJDK 11 (jdk-11.0.8.10-hotspot), и да, javac находится на моем пути.

Итак, 3.9 теперь находится в сценарии действия github для непрерывного развертывания (по состоянию на 4 дня назад) - см. Https://github.com/kivy/pyjnius/blob/master/.github/workflows/create.yml#L13 - так что я думаю что в следующем выпуске будет бинарный дистрибутив Python 3.9 64bit для Windows.

Приятно слышать!

Есть идеи, почему при установке через pip возникают проблемы, а готовые пакеты отсутствуют? Я быстро взглянул на сценарий setup.py, а также на сценарий env.py, чтобы увидеть, как определяются пути, и AFAICT не должно быть ошибок разрешений (или ошибок, связанных с отсутствием файла), поскольку путь к javac должен был быть разрешен правильно.

Я переписал env.py - который выполняет поиск JDK / JRE - несколько месяцев назад, и это выдающийся Pull Request - см. Https://github.com/kivy/pyjnius/pull/541 - так что лично я не хочу отлаживать старую версию!

У меня та же проблема, но я мог бы установить ее с помощью Anaconda Anaconda в приложении Ubuntu в Windows 10 >>, потому что с самой Anaconda нелегко справиться

Была ли эта страница полезной?
0 / 5 - 0 рейтинги