Доступ к установке pip запрещен в Windows

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

WindowsError: [Error 5] Access is denied: 'c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u\\cryptography-0.9.1\\.eggs\\cffi-1.1.2-py2.7-win-amd64.egg\\_cffi_backend.pyd'

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

21 ответ

Решение

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

например

python -m pip install mitmproxy

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

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

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

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

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

python -m pip install mitmproxy

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

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

Как, я устанавливаю через Anaconda Prompt. В моем случае, он даже не работал с python -m pip install Затем я добавляю это

python -m pip install <package_name> --user

Меня устраивает.

Подобно:python -m pip install "numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl" --user

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

Другой вариант: попробуйте запустить командную строку как " Запуск от имени администратора", а затем попробуйте установить pip. Это должно работать либо.

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

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

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

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

Найдите корневой каталог Python -> щелкните правой кнопкой мыши -> Свойства -> Безопасность -> Изменить -> Дайте пользователям полный доступ -> Да и дождитесь завершения процесса.

Меня устраивает.

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

Итак, еще одна вещь, которую нужно проверить, это то, что другие процессы Python не запущены.

Для меня выключение сервера ноутбука решило проблему.

В моем случае Защитник Windows блокирует процесс, и каждый раз, когда я запускаю команду pip, появляется всплывающее окно с угрозой безопасности. Что я делаю, так это исключаю папку python. Ниже приведены шаги:

  • Щелкните значок Windows, найдите приложение «Безопасность Windows» и откройте его.
  • Выберите Защита от вирусов и угроз в меню слева.
  • Прокрутите вниз до настроек защиты от вирусов и угроз.
  • Нажмите Управление настройками
  • Прокрутите вниз до Исключения
  • Нажмите Добавить или удалить исключения.
  • Нажмите «Добавить исключение» и выберите «Папка».
  • Перейдите по этому пути C:\Users{Your_User}\AppData\Local\Programs\Python
  • Выберите папку
  • Перезапустите командную строку

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

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

pip install Django

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

Иногда вам просто нужно убедиться, что у вас не запущены какие-либо среды Python.

  1. Откройте командную строку от имени администратора.

  2. Чтобы установить любой пакет Python, используйте эту команду, включая --user.

pip install --ignore-installed --upgrade --user <packagename>

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

[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)

Сначала я попробовал это https://python-forum.io/Thread-All-pip-install-attempts-are-met-with-SSL-error, но, похоже, это не решило мои проблемы, и все равно повторяю та же проблема.

И, во-вторых, если вы работаете на деловом компьютере, обычно это может быть фильтр веб-контента (но я могу получить доступ к https://pypi.python.org/ через браузер напрямую). И решить эту проблему, добавив прокси-сервер.

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

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

Вышеуказанные два решения являются альтернативой для вас.

В моем случае это даже не работало с python -m pip install

То, что я сделал, от cmd от имени администратора:

PsExec.exe -i -s -d cmd.exe

Чтобы породить SYSTEM cmd, затем pip install mitmproxy

;)

Была такая же проблема при установке pycaret.

Я решил двумя разными способами (которые я перечислю ниже).


Опция 1

Модернизированный пункт с

      python -m pip install --user --upgrade pip

затем


Нашел соответствующее обсуждение ошибки здесь .


Вариант 2

Предполагая, что вы используете Anaconda, откройте приглашение Anaconda для среды, с которой вы работаете, как администратор

И беги

      pip install --user pycaret[full]

или же

      pip install pycaret[full]

Я также работаю в безопасной среде, поэтому для установки модуля я использую этот код: -

      pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org

в последнюю очередь добавьте имя вашей библиотеки, например:

      pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org numpy 

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

например

pip install numpy

Запуск cmd от имени администратора решил для меня. Вы также можете попробовать --user. Если вы не хотите повторять эти шаги, вам необходимо предоставить полный доступ к папке anaconda.

Запустите cmd.exe от имени администратора и введите:

python -m pip install
Другие вопросы по тегам