Odmowa dostępu do instalacji pip w systemie Windows


110

Próbuję uruchomić pip install mitmproxyw systemie Windows, ale wciąż otrzymuję odmowa dostępu, nawet cmdi PowerShellprzy użyciuRun as Administrator opcją .

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'

Jak mogę to zrobić?


Odpowiedzi:


140

W przypadku systemu Windows w cmd spróbuj uruchomić instalację pip za pomocą pliku wykonywalnego Pythona

na przykład

python -m pip install mitmproxy

to powinno zadziałać, przynajmniej zadziałało dla mnie dla innych instalacji pakietów.


6
Z jakiegoś powodu uprawnienia do pliku tymczasowego były dla mojego użytkownika mniej niż pełną kontrolą. Przejście tą trasą python -mmiało znaczenie.
Jason Dunkelberger

2
Czy wiemy, dlaczego to działa? A nie przez PowerShell?
Big Money

66

Zmień uprawnienia bezpieczeństwa folderu instalacyjnego Pythona przez:

  1. Otwórz powłokę Pythona
  2. Przejdź do menedżera zadań
  3. Znajdź proces Pythona
  4. Kliknij prawym przyciskiem myszy i otwórz lokalizację
  5. Folder otworzy się w eksploratorze, przejdzie do katalogu
  6. Kliknij folder prawym przyciskiem myszy i wybierz właściwości
  7. Kliknij kartę bezpieczeństwa i naciśnij „edytuj”
  8. Dodaj wszystkich i nadaj im uprawnienia do odczytu i zapisu.
  9. Zapisz zmiany

Jeśli otworzysz cmdjako administrator; następnie możesz wykonać następujące czynności:

Jeśli Python jest ustawiony w twoim PATH, to:

python -m pip install mitmproxy

3
Musiałem to zrobić zarówno dla WSZYSTKICH PAKIETÓW APLIKACJI, jak i dla użytkowników, ale potem zadziałało.
Kronika

1
Działał doskonale. Wielkie dzięki!
Sudipto Shome

3
Alternatywna trasa z podobnym wysiłkiem: 1) Zainstaluj Linuksa 2)sudo pip install foo
Nearoo

1
@Chronicle Czy naprawdę pozwoliłeś wszystkim czytać i pisać w profilach użytkowników? Jeśli tak, to całkiem zły pomysł (bardzo zły).
David Ferenczy Rogožan

@Richard W jaki sposób dodanie uprawnień do odczytu i zapisu w katalogach Pythona może rozwiązać problem z odmową uprawnień w tempkatalogu użytkownika ? Powiedziałbym, że to sposób wykonania pip( python -m pipzamiast tak pipjak sugerował @nayak), co pomaga, te 9 kroków wcześniej jest najprawdopodobniej nieistotnych (ponieważ tak naprawdę nie ma żadnego sensu).
David Ferenczy Rogožan

27

Osobiście odkryłem, że po otwarciu cmdjako administrator, a następnie uruchomienie python -m pip install mitproxy wydaje się rozwiązać mój problem.

Uwaga: - Zainstalowałem Pythona za pośrednictwemchocolatey


Uratowałeś mi dzień, brachu!
Maulik Dodia

1
jeśli pracujesz cmdjako administrator, powinieneś być w stanie normalnie działać pip install [package]. I tak dla mnie zadziałało.
EliSquared,

14

Jedną dodatkową rzeczą, która nie została omówiona w poprzednich odpowiedziach i która często powoduje problemy w systemie Windows i powstrzymuje mnie przed instalacją jakiegoś pakietu pomimo działania jako administrator, jest to, że otrzymujesz ten sam błąd odmowy uprawnień, jeśli istnieje inny program, który używa niektórych plików, (lub pip install) spróbuj uzyskać dostęp. Jest to naprawdę głupia „funkcja” systemu Windows, która pojawia się wielokrotnie, np. Podczas próby przeniesienia niektórych plików.

Ponadto nie mam pojęcia, jak dowiedzieć się, który program blokuje określony plik, więc najłatwiejszym sposobem jest ponowne uruchomienie i przeprowadzenie instalacji przed rozpoczęciem czegokolwiek, w szczególności przed uruchomieniem np. Spydera lub innego oprogramowania opartego na Pythonie. Możesz także spróbować zamknąć wszystkie programy, ale ustalenie, który z nich faktycznie przechowuje plik, może być trudne. Na przykład w przypadku katalogu wystarczy, że masz otwarte okno Eksploratora w tym katalogu.


Tak, załatwił mi sprawę! Pracowałem jednocześnie w Git Bash, Pycharm Terminal i Windows Terminal, po zamknięciu dwóch z trzech wszystko działało.
Cappo

10

Otwórz cmd za pomocą „Uruchom jako administrator” i wykonaj polecenie pip install mitmproxy. Zainstaluje go.


10

Ponieważ instaluję przez anacondę Prompt.W moim przypadku to nawet nie działało z python -m pip installNastępnie dodaję to

python -m pip install <package_name> --user

Mi to pasuje.

Lubić: python -m pip install "numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl" --user

Zauważ, że podwójne cudzysłowy nie jest konieczne, możesz podać nazwę pakietu, który chcesz zainstalować.

Inny powinieneś spróbować uruchomić wiersz polecenia jako Uruchom jako administrator, a następnie spróbuj zainstalować pip. To też powinno działać.


Pomogło mi to zainstalować pakiety Pythona (w tym przypadku sympy) w szkole. Dzięki!
JDG,

Najlepsze rozwiązanie, gdy nie masz uprawnień administratora do swojego systemu.
Ajay Sharma

5

Spróbuj przyznać uprawnienia do pełnej kontroli nad folderem Pythona.

Znajdź katalog główny Pythona -> kliknij prawym przyciskiem myszy -> właściwości -> bezpieczeństwo -> edytuj -> daj użytkownikom pełną kontrolę -> tak i poczekaj na zakończenie procesu.

Mi to pasuje.


3

Spróbuj c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6uręcznie usunąć folder, a następnie ponów polecenie pip.


Dzięki za to. Niektóre tymczasowe pliki pip blokowały instalację.
Eok

3

Otwieranie wiersza poleceń Jako administrator po prostu pracował dla mnie bez używania pliku wykonywalnego Python. Kliknij prawym przyciskiem myszy skrót wiersza polecenia i wybierz „Uruchom jako administrator”. Następnie uruchom następujące polecenie.

pip install Django

To samo dotyczy mnie - wystarczyło uruchomić cmd jako administrator.
Charidimos

3

Przyczyną w moim przypadku było otwarcie notatnika jupyter, który importował odpowiednią bibliotekę; główną przyczyną wydaje się być błąd systemu Windows, ponieważ plik jest otwarty / używany (zobacz także odpowiedź @ Roberta i zalecenie ponownego uruchomienia).

Kolejną rzeczą do sprawdzenia jest to, że nie działają żadne inne procesy Pythona.

Dla mnie wyłączenie serwera notebooków rozwiązało problem.


2
  1. Otwórz wiersz polecenia jako administrator.

  2. Aby zainstalować dowolny pakiet Pythona, użyj tego polecenia, w tym --user.

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


1

Kiedy wszystko inne zawiedzie, spróbuj zamknąć IDE. Miałem wiele przypadków, w których PyCharm to powodował. Gdy tylko opuściłem PyCharm, mogłem w końcu zainstalować moje pakiety z wiersza poleceń. Alternatywnie możesz również zainstalować za pośrednictwem samego PyCharm w Ustawienia -> Projekt: xxx -> Interpreter projektu -> +.


1
Miałem ten sam problem, dopóki nie zamknąłem Spydera
atm

0

Uruchom cmd.exe jako administrator, a następnie wpisz:

python -m pip install

0

Spotkałem podobny problem, ale raport o błędzie dotyczy

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

Najpierw wypróbowałem to https://python-forum.io/Thread-All-pip-install-attempts-are-met-with-SSL-error#pid_28035 , ale wydaje się, że nie może rozwiązać moich problemów i nadal powtarzam ten sam problem.

Po drugie, jeśli pracujesz na komputerze biznesowym, generalnie może istnieć filtr treści internetowych (ale mam dostęp do https://pypi.python.org bezpośrednio przez przeglądarkę) i rozwiązać ten problem, dodając serwer proxy.

W przypadku systemu Windows otwórz Internet propertiesprzeglądarkę IE lub Chrome lub cokolwiek innego, a następnie ustaw prawidłowy adres serwera proxy i port , a w ten sposób rozwiąż moje problemy

Lub po prostu dodając opcję pip --proxy [proxy-address]:port install mitmproxy ale zawsze musisz dodać tę opcję podczas instalacji przez pypi

Powyższe dwa rozwiązania są alternatywą dla Twoich wymagań.


0

W moim przypadku to nawet nie działało python -m pip install

To, co zrobiłem, to od cmd jako administrator:

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

W takim razie, aby odrodzić cmd SYSTEM pip install mitmproxy

;)


-1

Po prostu zamknij wszystkie otwarte pliki Pythona. I spróbuj działać jako administrator. To będzie działać.

na przykład

pip install numpy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.