у програмі Windows заборонено доступ до встановлення


110

Я намагаюся запускатись 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'

Як я можу змусити цю роботу?


Відповіді:


139

У випадку Windows, в cmd спробуйте запустити інсталяцію pip, використовуючи виконуваний файл python

напр

python -m pip install mitmproxy

це повинно працювати, принаймні, це працювало для мене для іншої установки пакета.


6
З будь-якої причини дозволи на тимчасовий файл були меншими, ніж повний контроль для мого користувача. Проходження цього маршруту python -mзмінило значення.
Джейсон Данкельбергер

2
Ми знаємо, чому це працює? А не через повноваження?
Великі гроші

66

Змініть дозволи безпеки вашої папки встановлення Python:

  1. Відкрийте оболонку Python
  2. Перейдіть до менеджера завдань
  3. Знайдіть процес пітона
  4. Клацніть правою кнопкою миші та відкрийте розташування
  5. Папка відкриється в провіднику, перейде в каталог
  6. Клацніть папку правою кнопкою миші та виберіть властивості
  7. Перейдіть на вкладку безпеки та натисніть «редагувати»
  8. Додайте всіх і дайте їм дозвіл на читання та запис.
  9. Збережіть свої зміни

Якщо ви відкриєтесь cmdяк адміністратор; то ви можете зробити наступне:

Якщо Python встановлений у вашому PATH, тоді:

python -m pip install mitmproxy

3
Мені довелося це зробити як для ВСІХ ПАКЕТІВ ЗАСТОСУВАННЯ, так і для користувачів, але тоді це спрацювало.
Хроніка

1
Працювали чудово. Дякую тонну!
Судіпто Шоме

3
Альтернативний маршрут із подібними зусиллями: 1) Встановити Linux 2)sudo pip install foo
Nearoo

1
@Chronicle Ви дійсно дозволяли кожному читати та писати в профілі користувачів? Якщо так, то це зовсім погана ідея (дуже погана).
David Ferenczy Rogožan

@Richard Як додавання дозволів на читання та запис у каталоги Python може вирішити проблему з дозволу, відхиленого в tempкаталозі користувача? Я б сказав, що це спосіб виконання pip( python -m pipзамість того, pipяк @nayak запропонував), що допомагає, ці 9 кроків раніше, швидше за все, не мають значення (оскільки це насправді не має сенсу).
David Ferenczy Rogožan

27

Особисто я виявив, що відкриття cmdяк адміністратора, а потім запуску, python -m pip install mitproxy здається, вирішує мою проблему.

Примітка: - Я встановив python throughchocolatey


Ти врятував мій день, брате!
Maulik Dodia

1
якщо ви працюєте cmdв якості адміністратора, ви повинні мати змогу просто нормально працювати pip install [package]. Для мене все одно працювали.
EliSquared

14

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

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


Так, зробив трюк для мене! Я працював в Git Bash, Pycharm Terminal та Windows Terminal одночасно, після закриття двох з трьох все працювало.
Каппо,

10

Відкрийте cmd за допомогою "Запустити як адміністратор" та виконати команду pip install mitmproxy. Це встановить його.


10

Оскільки я встановлюю через підказку anaconda. У моєму випадку це навіть не працювало з 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. Це має працювати або.


Це працювало для мене, щоб встановити пакети python (симпатія в даному випадку) у школі. Дякую!
JDG

Найкраще рішення, коли у вас немає прав адміністратора на вашу систему.
Аджай Шарма

5

Спробуйте дати дозвіл на повне управління папкою python.

Знайдіть кореневий каталог python -> клацніть правою кнопкою миші -> властивості -> безпека -> редагувати -> дати користувачам повний контроль -> так і дочекайтеся завершення процесу.

Це працює для мене.


3

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


Дякую за це Деякі тимчасові файли pip блокували встановлення.
Eok

3

Відкриття командного рядка Оскільки адміністратор просто працював на мене, не використовуючи виконуваний файл Python. Клацніть правою кнопкою миші на ярлику командного рядка та оберіть "Запустити як адміністратор". Потім запустіть таку команду.

pip install Django

Те саме для мене - потрібно було просто запустити cmd як адміністратор.
Харидімос

3

Причиною в моєму випадку було відкриття зошита з юпітером, який імпортував відповідну бібліотеку; першопричиною, здається, є помилка Windows через те, що файл відкритий / використовується (див. також відповідь @ Роберта та рекомендацію перезавантажуватись).

Отже, ще одна річ, щоб переконатися, не працює жоден інший процес python.

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


2
  1. Відкрийте командний рядок як адміністратор.

  2. Щоб встановити будь-який пакет Python, використовуйте цю команду, в тому числі --user.

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


1

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


1
У мене виникло те саме питання, поки я не закрив Spyder
atm

0

Запустіть cmd.exe як адміністратор, а потім введіть:

python -m pip install

0

Я зіткнувся з подібною проблемою. Але звіт про помилки приблизно

[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#pid_28035 , але, здається, він не міг вирішити мої проблеми, і все ж повторюю те саме питання.

І по-друге, якщо ви працюєте на бізнес-комп’ютері, як правило, може існувати фільтр веб-вмісту (але я можу отримати доступ до https://pypi.python.org через браузер безпосередньо). І вирішити цю проблему, додавши проксі-сервер.

Для Windows відкрийте Internet propertiesIE або Chrome чи що завгодно, а потім встановіть дійсну адресу проксі та порт проксі , і таким чином вирішіть мої проблеми

Або просто додавання опції pip --proxy [proxy-address]:port install mitmproxy Але завжди потрібно додати цю опцію під час встановлення pypi

Вищеописані два варіанти є альтернативними для вас вимогами.


0

У моєму випадку це навіть не спрацювало python -m pip install

Що я зробив - це від cmd як адміністратора:

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

Для того, щоб породити СИСТЕМУ cmd, тоді pip install mitmproxy

;)


-1

Просто закрийте всі відкриті файли python. І спробуйте запуститись як адміністратор. Це спрацює.

напр

pip install numpy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.