Python отказано в доступе windows

Обновлено: 06.07.2024

У меня Windows 10. Я завершил установку Tensorflow. Оно работает. Он говорит: «Привет, Tensorflow!». Но перед ним все это:

Процесс возвратил 0 (0x0) время выполнения: 2,327 с. Нажмите любую клавишу, чтобы продолжить.

Когда я pip3 install --upgrade tensorflow-gpu набираю cmb, как административный, так и обычный, я получаю это Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'c:\\users\\dylan\\appdata\\local\\programs\\python\\python35\\Lib\\site-packages\\numpy\\.libs\\libopenblas.BNVRK7633HSX7YVO2TADGR4A5KEKXJAW.gfortran-win_amd64.dll' Consider using the --user option or check the permissions. Пожалуйста, помогите мне. Не компьютерный ученый или инженер. Но я кодирую для развлечения.

Я не понимаю, зачем нам сейчас пользоваться --user ? Потому что это якобы устанавливается в каталог пользователя, что может быть не тем, что вам нужно. Install to the Python user install directory for your platform. Typically Я действительно не хочу устанавливать в каталог пользователя, и запуск CMD от имени администратора дает мне те же ошибки.

Просто введите команду, которую вы хотите выполнить с разрешением пользователя, если вы не хотите изменять разрешение:

@Dylan Cooper, пожалуйста, примите этот ответ, чтобы не пришлось копаться в ответах за годы

выполните ту же команду, используя '--user'

Итак, нет никакой разницы, используете ли вы команду без или с --user? потому что то , что вы , кажется , предположить .

Я обнаружил, что если я запускаю CMD от имени администратора и запускаю команду, я могу без проблем установить его. Попробуйте и дайте мне обратную связь.

Это и перезагрузка после установки Python сработали для меня. Это сработало для меня. Странно, что даже Терминал Windows в качестве администратора не работал. Работает для меня. Интересно, что открытие CMD от имени администратора работало, а открытие Git Bash от имени администратора - нет.

просто измените права доступа, в которых будет устанавливаться конкретный пакет.

В моем случае windows10 :

  • goto "C: \ Program Files (x86) \ Python37"
  • щелкните правой кнопкой мыши папку Python37 и выберите свойства
  • перейдите на вкладку Безопасность и разрешите полный контроль, нажав кнопку редактирования.
  • снова откройте новый терминал cmd и попробуйте снова установить пакет.

Я использовал эту команду, и она сработала:

Я обновлял тензорный поток до 1.4.0 и бился головой о стену, поскольку эта ошибка не решала, но, наконец, решила ее. Угадай, что?

Один из моих скриптов python работал, и он использовал тензорный поток. Пакет успешно установлен после его закрытия. 👍

Думаю, у меня была такая же проблема. Хотя я убил все экземпляры python с помощью диспетчера задач, я смог установить его после перезагрузки компьютера.

Для меня (в Windows) мне пришлось перезапустить терминал и запустить его как администратор (если вы используете терминал pycharm, просто закройте pycharm и снова откройте его как администратор, а затем повторите попытку). Это решило проблему, и установка прошла успешно.

Здесь 2.0.1 - версия tensorflow.

Введите CMD в поиске, и когда в результатах поиска BEST MATCH появится командная строка, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора», когда появится окно управления пользователем, выберите «Да». Появится окно командной строки, и вы должны увидеть «C: / WINDOWS / system32>».

на этом этапе просто введите то, что вы хотите, должно работать!

Обновление пункта в Windows с помощью -

python -m pip install --upgrade pip

а затем запустите установку pip с параметром --user -

решил мою проблему.

Ошибка, вызванная ограничением длины пути к файлу в Windows

Может случиться так, что pip не сможет установить пакеты при достижении предельного размера пути по умолчанию Windows, если Python установлен во вложенном месте, таком как структура папок AppData в домашнем каталоге пользователя, например:

В этом случае можно снять это ограничение в реестре Windows с помощью инструмента regedit:

Введите «regedit» в меню «Пуск» Windows, чтобы запустить regedit.

Подойдите к Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem ключу.

Измените значение LongPathsEnabled свойства этого ключа и установите его на 1.

Переустановите scikit-learn (игнорируя предыдущую неработающую установку):

pip install --exists-action=i scikit-learn

Это должно работать

Почему это сработает. Дайте больше пояснений к вашему ответу.

Как упоминается в ошибке, нет --user, поэтому вам нужно выполнить следующие действия

  1. Откройте cmd или anaconda Navigator
  2. Откройте каталог установки python (для навигатора anaconda вы должны указать путь, например C: / cd Anaconda
  3. Затем последним будет python -m pip install --user somepackagename
  1. Создайте virtualenv - хорошо
  2. activate my virtualenv - не удалось. Требуется область действия для запуска powershell. Windows полезна и сообщает вам, какую именно команду нужно запустить, чтобы разрешить запуск .ps. Вроде как, chmod но с исполнением, scope которое я считаю хорошим.
  3. Теперь, если вы прошли вышеуказанное и установили несколько пакетов, все в порядке. Пока вдруг не косяк. Тогда вы получите эту ошибку разрешения.
  4. Что-то вы или другой процесс установили разрешение на папку, в которую pip устанавливает пакеты. т.е. . site-packages/ в моем случае я подозреваю, что это OneDrive или какое-то наследование разрешений.

Идеальный путь вперед - это проверить разрешения. Это сложно, но вы разработчик Python, не так ли! Сначала проверьте своего пользователя.

  1. whoami например, мой компьютер \ vangel
  2. Get-Acl <path which is an issue>
  3. в папке установки Python или щелкните правой кнопкой мыши virtualenv и перейдите на вкладку «Безопасность». Щелкните расширенные и просмотрите разрешения. Я удалил все унаследованные разрешения и других пользователей и т. Д. И добавил свою whoami пользовательскую явку с полными разрешениями. затем применяется ко всем объектам.

Ни в коем случае это решение всех проблем с разрешениями, которые могут повлиять на вас. Я могу только дать рекомендации по устранению неполадок и, надеюсь, вы разрешите их.

устанавливать --user флаг нигде не нужно, если он вам подходит. Но вы все еще не знаете, что пошло не так.

Дополнительные действия: попробуйте удалить пакет и установить его. pip uninstall requests pip install requests Это работает, но у меня проблема с разрешением для определенного пакета.

Оказывается, Windows выдает ошибку разрешения, когда файл заблокирован процессом. Python сообщает об этом, [Winerror 5] и мне все равно было нелегко найти ссылку на эту документацию. Давайте проверим эту теорию.

Я нахожу именно тот файл, в котором возникает ошибка разрешения. Хит удалить. Конечно, Windows window подсказывает, что он открыт. python Конечно, это так.

Я попал end task на весь питон. Он работает с 1996 года. Но я подождал несколько секунд на случай, если какой-то процесс запустит питон. Проверил Task manager все хорошо.

После 20 неудачных попыток установить конкретный пакет azureml через pip я был уверен, что это решило проблему.

Я запустил установку pip, и она установилась отлично.

Мораль истории: разберитесь, что вы делаете, прежде чем копировать вставку из Stackoverflow. Всего наилучшего.

ps Пожалуйста, прекратите установку Python или его пакетов от имени администратора. Мы прошли это с 2006 года

Я пытаюсь запустить pip install mitmproxy в Windows, но я продолжаю получать доступ запрещен, даже с cmd и PowerShell С помощью .

как я могу это сделать?

в случае windows в cmd попробуйте запустить pip install с помощью исполняемого файла python

это должно работать, по крайней мере, это сработало для меня для другой установочный пакет.

измените разрешения безопасности вашей папки установки Python на:

  1. откройте оболочку Python
  2. перейти к диспетчеру задач
  3. найти процесс python
  4. щелкните правой кнопкой мыши и открыть расположение
  5. папка откроется в проводнике, перейдите в каталог
  6. щелкните правой кнопкой мыши папку и выбираем Свойства
  7. перейдите на вкладку Безопасность и нажмите 'Редактировать'
  8. добавить все и дать им разрешение на чтение и Писать.
  9. Сохранить изменения

Если вы открываете cmd как админ, тогда вы можете сделать следующее:

Если Python установлен в вашей PATH , тогда:

лично я нашел это, открыв cmd as admin затем запустите python -m pip install mitproxy кажется, это решает мою проблему.

Примечание: я установил python через chocolatey

одна дополнительная вещь, которая не была рассмотрена в предыдущих ответах и которая часто вызывает проблемы в Windows и остановила меня от установки некоторого пакета, несмотря на запуск от имени администратора, - это то, что вы получаете то же разрешение отказано ошибки, если есть другая программа, которая использует некоторые файлы (или pip install ) попробовать получить доступ. Это действительно глупая "функция" Windows, которая появляется много раз, например, при попытке переместить некоторые файлы.

кроме того, я понятия не имею как выясните, какая программа блокирует конкретный файл, поэтому проще всего перезагрузить и выполнить установку перед запуском чего-либо, в частности, перед запуском, например, Spyder или любого другого программного обеспечения на основе Python. Вы также можете попытаться закрыть все программы, но может быть сложно узнать, какой из них действительно содержит файл. Например, для каталога достаточно, чтобы в этом каталоге было открыто окно Проводника.

откройте cmd с помощью "Запуск от имени администратора" и выполните команду pip install mitmproxy . Он установит его.

Попробуйте удалить папку c:\users\bruno\appdata\local\temp\easy_install-0fme6u вручную, а затем повторите команду pip.

Открытие командной строки как администратор просто работал для меня без использования исполняемого файла Python. Нажмите правой кнопкой мыши ярлык командной строки и выберите "Запуск от имени администратора". Затем выполните следующую команду.

причиной в моем случае был открытый ноутбук jupyter, который импортировал соответствующую библиотеку; основной причиной, по-видимому, является ошибка windows из-за открытия / использования файла (см. Также ответ @Robert и рекомендацию перезагрузить).

поэтому еще одна вещь, чтобы проверить, что никакие другие процессы python не запущены.

для меня закрытие сервера ноутбуков решило проблему.

когда все остальное не удается, попробуйте выйти из IDE. У меня было много случаев, когда причиной этого был PyCharm. Как только я вышел из PyCharm, я смог, наконец, установить свои пакеты из командной строки. Кроме того, вы также можете установить через PyCharm в настройках - > Project: xxx - > Project Interpreter -> + .

Я встретил аналогичную проблему.Но отчет об ошибке

для windows откройте Internet properties через IE или Chrome или что угодно, затем установите valid прокси-адрес и порт,и таким образом решить мои проблемы

или просто добавление опции pip --proxy [proxy-address]:port install mitmproxy .Но вам всегда нужно добавить эту опцию при установке pypi

вышеуказанное решение 2 Альтернатива для вас требует.

попробуйте дать разрешение на полный контроль над папкой python.

найдите корневой каталог python-->щелкните правой кнопкой мыши-- > свойства-->безопасность-- > изменить-->дайте пользователям полный контроль-- > да и дождитесь завершения процесса.

Это работает для меня.

просто закройте все открытые файлы python. И попробуйте запустить от имени администратора. Это сработает.

Я пытаюсь запустить pip install mitmproxy в Windows, но я все время отказываюсь от доступа, даже с cmd и PowerShell с помощью параметра Run as Administrator .

Как я могу сделать эту работу?

В случае окон, в cmd попробуйте запустить pip install с помощью исполняемого файла python

это должно работать, по крайней мере, это работало для меня для другой установки пакета.

По какой-то причине разрешения для временного файла были меньше, чем полный контроль для моего пользователя. Прохождение этого маршрута через python -m имело значение.

Измените права на доступ к папке для установки Python:

  • Откройте оболочку Python
  • Перейдите в диспетчер задач
  • Найти процесс python
  • Щелкните правой кнопкой мыши и откройте папку
  • Папка откроется в проводнике, поднимите каталог
  • Щелкните правой кнопкой мыши папку и выберите свойства
  • Перейдите на вкладку безопасности и нажмите "Изменить"
  • Добавьте всех и дайте им разрешение на чтение и запись.
  • Сохраните изменения

Если вы открываете cmd как admin; то вы можете сделать следующее:

Если Python установлен в вашем PATH , то:

Я должен был сделать это для ВСЕХ ПАКЕТОВ ПРИЛОЖЕНИЙ и Пользователей, но тогда это работало. Альтернативный маршрут с подобным усилием: 1) Установите Linux 2) sudo pip install foo @Chronicle Chronicle Вы действительно позволили всем читать и писать в профили пользователей? Если да, это довольно плохая идея (очень плохая). @Richard Как добавление разрешений на чтение и запись в каталогах Python может решить проблему с отказом в доступе во temp каталоге пользователя? Я бы сказал, что это способ выполнения pip ( python -m pip вместо простого pip как предложил @nayak, что помогает, эти 9 шагов, скорее всего, не имеют значения (так как в действительности это не имеет никакого смысла). Это сработало для меня только после добавления прав для моего авторизованного пользователя. Спасибо!

Лично я обнаружил, что, открыв cmd как admin, запустите python -m pip install mitproxy кажется, исправляет мою проблему.

Примечание: - Я установил python через chocolatey

если вы запустите cmd от имени администратора, вы сможете просто выполнить обычную pip install [package] . Все равно у меня сработало.

Откройте cmd с помощью "Запуск от имени администратора" и выполните команду pip install mitmproxy . Он установит его.

Еще одна вещь, которая не была рассмотрена в предыдущих ответах и ​​часто вызывала проблемы в Windows, и помешала мне установить какой-либо пакет, несмотря на то, что он запускается как admin, так это то, что вы получаете ту же прав, что и отказ, если это еще одна программа, в которой используются некоторые файлы, к которым вы (или pip install ) пытаетесь получить доступ. Это действительно глупая "функция" Windows, которая появляется много раз, например. при попытке перемещения некоторых файлов.

Кроме того, я не знаю, как определить, какая программа блокирует конкретный файл, поэтому проще всего выполнить перезагрузку и выполнить установку перед запуском чего-либо, особенно перед запуском, например. Spyder или любое другое программное обеспечение на базе Python. Вы также можете попытаться закрыть все программы, но может быть сложно узнать, какой из них фактически содержит файл. Например, для каталога достаточно, чтобы в этом каталоге открывалось окно проводника.

В моем случае причина заключалась в том, что открылся блокнот jupyter, который импортировал соответствующую библиотеку; Корневая причина кажется оконной ошибкой из-за того, что файл открыт/используется (см. также ответ @Robert и рекомендацию перезагрузки).

Итак, еще одна вещь для проверки заключается в том, что никакие другие процессы python не выполняются.

PermissionError: [WinError 5] Доступ запрещен, когда python использует multiprocessing.Manager.

Беги от Ляо Сюэфэна, учебникРаспределенный процесс Например, PermissionError: [WinError 5] появляется при запуске в среде Windows.
Журнал ошибок:

Запуск cmd и powershell с правами администратора по-прежнему сообщает об ошибках

linux

  1. Поместите task_master.py для запуска на виртуальной машине Linux, task_worker.py по-прежнему работает под Windows для получения задач.
    Результат нормальный.
    снимок экрана мастера linux:

2. Анализ проблемы
В руководстве учителя Ляомульти-прогрессИсходные слова раздела

В Unix / Linux модуль многопроцессорности инкапсулирует вызов fork (), поэтому нам не нужно обращать внимание на детали fork (). Поскольку в Windows нет вызова fork, многопроцессорность должна «имитировать» эффект fork. Все объекты Python в родительском процессе должны быть сериализованы с помощью pickle, а затем переданы дочернему процессу. Все, если вызов многопроцессорности не работает под Windows, сначала рассмотрите Не получился рассол?

Очевидно, проблема возникает из-за разной обработки процессов между платформой Windows и платформой Linux.
Неожиданно я выкопал здесь большую яму. Час чтения подводит итог:
1) Используйте fork () для создания процесса в Linux и CreateProccess () для создания процесса в платформе Windows.
2) После вызова fork () и перед операцией записи он разделяет память с родительским процессом и на самом деле не имеет так называемой «частной памяти» многопроцессорности. И CreateProccess () каждый раз После выполнения убедитесь, что у дочернего процесса есть новое пространство памяти.
3) Причину такого дизайна можно понять из разницы в сценариях приложений для многопроцессорности Linux и Windows. Fork родился в эпоху отсутствия потоков, поэтому, если вы не выполняете его после fork (), он дает больше эффектов Потоки очень похожи и могут пониматься как решение без концепции потоков.CreateProccess больше похож на создание родственного процесса, и созданные процессы гарантированно существуют независимо.
3) Это различие напрямую отражается в модуле многопроцессорности. В этом примере для создания процесса-менеджера на разных платформах используются разные методы. В Windows среда родительского процесса сериализуется и сохраняется. После этого передайте его в createProccess.
4) Проблема заключается в отсутствии поддержки анонимных функций в сериализации травления, что приводит к сбою процесса создания.
5) Следовательно, ее можно решить, заменив анонимные функции функциями.

Есть два изменения:
1. Отменить анонимную функцию
2. Добавить, еслиname == main Судья.
Второй момент - это требования платформы Windows для многопроцессорной реализации Python. В основном для предотвращения циклического импорта.

Since Windows has no fork, the multiprocessing module starts a new Python process and imports the calling module. If Process() gets called upon import, then this sets off an infinite succession of new processes (or until your machine runs out of resources). This is the reason for hiding calls to Process() inside

result

Не нужно менять task_worker.py
Результат выполнения:

Читайте также: