Nie można zainstalować pakietów z powodu błędu środowiskowego: [WinError 5] Odmowa dostępu:


88

Mam Windows 10. Zakończyłem instalację Tensorflow. To działa. Mówi „Witaj Tensorflow!”. Ale ma to wszystko przed sobą:

2018-08-18 18:16:01.500579: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 2018-08-18 18:16:01.769002: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1405] Found device 0 with properties: name: GeForce GTX 950 major: 5 minor: 2 memoryClockRate(GHz): 1.3545 pciBusID: 0000:01:00.0 totalMemory: 2.00GiB freeMemory: 1.64GiB 2018-08-18 18:16:01.774030: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1484] Adding visible gpu devices: 0 2018-08-18 18:16:02.095489: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix: 2018-08-18 18:16:02.099093: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:971] 0 2018-08-18 18:16:02.100631: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:984] 0: N 2018-08-18 18:16:02.102156: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1097] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1401 MB memory) -> physical GPU (device: 0, name: GeForce GTX 950, pci bus id: 0000:01:00.0, compute capability: 5.2) Hello Tensorflow!

Proces zwrócił 0 (0x0) czas wykonania: 2,327 s Aby kontynuować, naciśnij dowolny klawisz

Kiedy pip3 install --upgrade tensorflow-gpuwpisuję cmb, zarówno administracyjne, jak i normalne, otrzymuję to - 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 theużytkownik option or check the permissions.Proszę, pomóż mi. Nie jest informatykiem ani inżynierem. Ale koduję dla zabawy.


15
Dodaj --userdo pip3polecenia instalacji.
Zain Patel

6
Nie rozumiem, dlaczego teraz musimy użyć --user? Ponieważ to rzekomo instaluje się w katalogu użytkownika, co może nie być tym, czego chcesz. Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
not2qubit

2
Naprawdę nie chcę instalować w katalogu użytkownika, a uruchomienie CMD jako administratora powoduje te same błędy.
Michał Szczepaniak

Odpowiedzi:


80

Po prostu wpisz polecenie, które chcesz wykonać za zgodą użytkownika, jeśli nie chcesz zmieniać uprawnień:

pip3 install --upgrade tensorflow-gpu --user

3
@Dylan Cooper, zaakceptuj tę odpowiedź, aby nie musieć przekopywać się przez lata odpowiedzi
PolarBear10

34

uruchom to samo polecenie, używając „--user”


Komunikat o błędzie sugeruje to „Rozważ użycie --useropcji lub sprawdź uprawnienia”. Dodałem --user i zostało to rozwiązane
thanos.a

Nie ma więc różnicy, czy używasz polecenia bez, czy z opcją „--user”? ponieważ to, co wydaje się zakładać ...
min

16

Stwierdziłem, że jeśli uruchomię CMD jako Administrator i uruchomię polecenie, mogę go zainstalować bez problemu. Wypróbuj i przekaż mi swoją opinię.


To i ponowne uruchomienie po zainstalowaniu Pythona działało dla mnie.
Ryan_S

To zadziałało dla mnie. Dziwne, że nawet Terminal Windows jako administrator nie działał.
howdoicode

Pracuje dla mnie. Co ciekawe, tylko otwieranie CMD jako administrator działało, podczas gdy otwieranie Git Bash jako administrator nie działało.
Shlomi A

Rzeczywiście, to działa, dziwnie Windows PowerShell, ponieważ administrator pokazuje komunikat o odmowie dostępu i mówi, że instalacja nie powiodła się, ale faktycznie wykonała zadanie
Joris

11

po prostu zmień uprawnienia dostępu, na którym dany pakiet ma zostać zainstalowany.

W moim przypadku windows10 :

  • goto „C: \ Program Files (x86) \ Python37”
  • kliknij prawym przyciskiem myszy folder Python37 i kliknij właściwości
  • przejdź do karty Bezpieczeństwo i zezwól na pełną kontrolę, klikając przycisk edycji.
  • ponownie otwórz nowy terminal cmd i spróbuj ponownie zainstalować pakiet.


9

Aktualizowałem tensorflow do wersji 1.4.0 i uderzałem głową o ścianę, ponieważ ten błąd nie rozwiązał, ale w końcu go rozwiązałem. Zgadnij co?

Jeden z moich skryptów w Pythonie był uruchomiony i korzystał z tensorflow 😂😂. Pakiet został pomyślnie zainstalowany po zamknięciu. 👍


1
Mam ten sam problem.
Florin Marcus

Chyba miałem ten sam problem. Chociaż zabiłem wszystkie instancje Pythona za pośrednictwem menedżera zadań, udało mi się go zainstalować po ponownym uruchomieniu komputera.
mKay

7

U mnie (w systemie Windows) musiałem zrestartować terminal i uruchomić go jako Administrator (jeśli używasz terminala pycharm, po prostu zamknij pycharm i otwórz go ponownie jako administrator, a następnie spróbuj ponownie), To rozwiązało problem i instalacja się powiodła.

Powodzenia


3

Aby zainstalować tensorflow, użyj tego polecenia, w tym --User.

pip install --ignore-installed --upgrade --user tensorflow==2.0.1

Tutaj 2.0.1 to wersja tensorflow.


2

WPISZ CMD w wyszukiwaniu, a gdy wiersz polecenia pojawi się w wyniku wyszukiwania NAJLEPSZE PODEJŚCIE, kliknij go prawym przyciskiem myszy i wybierz „Uruchom jako administrator”, gdy pojawi się okno kontroli użytkownika, wybierz „Tak”. Pojawi się okno wiersza poleceń i powinieneś zobaczyć „C: / WINDOWS / system32>”

w tym momencie po prostu wpisz to, co chcesz, powinno działać!


2

Uaktualnianie pip w systemie Windows za pomocą -

python -m pip install --upgrade pip

a następnie uruchom instalację pip z opcją --user -

pip install --user nazwa_pakietu

rozwiązał mój problem.


2

Kiedy wszystkie wymienione metody zawiodły, mogłem zainstalować scikit-learn, postępując zgodnie z instrukcjami z oficjalnej strony https://scikit-learn.org/stable/install.html .

Błąd spowodowany ograniczeniem długości ścieżki pliku w systemie Windows

Może się zdarzyć, że pip nie zainstaluje pakietów po osiągnięciu domyślnego limitu rozmiaru ścieżki systemu Windows, jeśli Python jest zainstalowany w zagnieżdżonej lokalizacji, takiej jak struktura folderów AppData w katalogu domowym użytkownika, na przykład:

Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

W takim przypadku możliwe jest zniesienie tego ograniczenia w rejestrze systemu Windows za pomocą narzędzia regedit:

Wpisz „regedit” w menu Start systemu Windows, aby uruchomić regedit.

Idź do Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemklucza.

Edytuj wartość LongPathsEnabledwłaściwości tego klucza i ustaw ją na 1.

Ponownie zainstaluj scikit-learn (ignorując poprzednią zepsutą instalację):

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


2

To powinno działać

pip install --user requests

1
Dlaczego to zadziała. Podaj więcej wyjaśnień na temat swojej odpowiedzi.
DevMike01

2

Jak wspomniano w błędzie, że nie ma --user, musisz wykonać następujące kroki

  1. Otwórz cmd lub anaconda Navigator
  2. Otwórz katalog instalacyjny Pythona (w przypadku nawigatora anaconda musisz określić ścieżkę, taką jak C: / cd Anaconda
  3. Ostatnim jest python -m pip install --user somepackagename

1

O mój. Jest tu tak wiele złych odpowiedzi. Mądre, ale mylące. Zwykle radzę sobie z uprawnieniami w systemie Mac / Linux. Windows jest dla mnie ostatnio nowy. To jest problem, który miałem.

  1. Utwórz virtualenv - ok
  2. activatemy virtualenv - nie powiodło się. Wymaga zakresu do uruchomienia programu PowerShell. System Windows jest pomocny i podaje dokładnie polecenie, które należy uruchomić, aby zezwolić na działanie .ps. Coś jak, chmodale z wykonaniem, scopektóre uważam za dobre.
  3. Teraz, jeśli przeszedłeś powyższe i zainstalowałeś kilka pakietów, wszystko jest w porządku. Aż nagle nie możesz. Wtedy pojawia się ten błąd uprawnień.
  4. Coś, co Ty lub inny proces ustawili uprawnienia do folderu, w którym pip instaluje pakiety. tj. w ...site-packages/moim przypadku podejrzewam, że to OneDrive lub jakieś dziedziczenie uprawnień.

Idealnym rozwiązaniem jest sprawdzenie uprawnień. To trudne, ale jesteś programistą Pythona, prawda? Najpierw sprawdź własnego użytkownika.

  1. whoami np. mycomputer \ vangel
  2. Get-Acl <path which is an issue>
  3. w folderze instalacyjnym Pythona lub virtualenv kliknij prawym przyciskiem myszy i przejdź do zakładki Bezpieczeństwo. Kliknij zaawansowane i przejrzyj uprawnienia. Usunąłem wszystkie odziedziczone uprawnienia i innych użytkowników itp. Oraz dodałem jawność whoamiużytkownika z pełnymi uprawnieniami. następnie zastosowany do wszystkich obiektów.

Nie rób tego bez weryfikacji poniższych kroków. Przeczytaj uważnie wiadomość.

W żadnym wypadku nie jest to rozwiązanie dla wszystkich problemów z uprawnieniami, które mogą Cię dotyczyć. Mogę tylko udzielić wskazówek, jak rozwiązać problem i mam nadzieję, że to rozwiążesz.

ustawienie --userflagi nie jest nigdzie konieczne, jeśli to działa dobrze. Ale nadal nie wiesz, co poszło nie tak.

Więcej kroków: spróbuj usunąć pakiet i zainstalować go. pip uninstall requests pip install requests To działa, ale mam problem z pozwoleniem na konkretny pakiet.

Okazuje się, że system Windows wyświetla błąd uprawnień, gdy plik jest blokowany przez proces. Python zgłasza to jako, [Winerror 5]a mimo to nie mogłem łatwo znaleźć odniesienia do dokumentacji. Przetestujmy tę teorię.

Znajduję dokładny plik, który ma błąd uprawnień. Kliknij usuń. Na pewno system Windows wyświetli windowmonit, że jest otwarty w pythonOczywiście, że tak.

Uderzyłem end taskwe wszystkich python. Działa od 1996. Ale czekałem kilka sekund na wypadek, gdyby jakiś proces uruchamiał Pythona. Task managerWszystko sprawdzone .

Ponieważ 20 razy nie udało mi się zainstalować programu pip w celu zainstalowania określonego pakietu azureml, byłem prawie pewien, że to rozwiązało problem.

Uruchomiłem moją instalację pip i zainstalowałem ją idealnie.

Morał z tej historii: Zrozum, co robisz, zanim skopiujesz wklejanie ze Stackoverflow. Wszystkiego najlepszego.

ps Przestań instalować Pythona lub jego pakiety jako administrator. Mamy to za sobą od 2006 roku


1

Rozwiązałem to, ponownie otwierając cmd w trybie administracyjnym, aktywując wirtualne środowisko env i instalując ponownie.

Tak było w przypadku Tensorflow 2.3.0 w środowisku wirtualnym.


to nie jest odpowiedź ani rozwiązanie problemu.
Juliano Costa

0

W moim przypadku wyłączyłem McAfee, a następnie pomyślnie zainstalowałem tensorflow2.0 RC


0

Korzystanie z podwyższonego wiersza poleceń zdziałało cuda. Wszystko, co musisz zrobić, to biec

pip install <package-name>

Z uprawnieniami administratora.


0

W ten sposób rozwiązałem ten problem.

downgrade do Pythona 3.6.x 64bit. Zainstalowałem 3.6.8 64bit.

zainstaluj virtualenv przez pip install virtualenv

upgrade pip do najnowszej wersji, dla mnie to 19.3

przejdź do folderu, w którym chcesz utworzyć środowisko wirtualne i po utworzeniu środowiska wirtualnego wpisz virtualenv ENV, przejdź do podfolderu \ PATH \ ENV \ Script i uruchom plik activ.bat. Teraz będziesz w wirtualnym środowisku.

pip install rasa Problem polega na tym, że tensorflow 15 wymaga 64-bitowego Pythona z nie więcej niż 3.6


0

Doświadczyłem tego samego problemu podczas próby zainstalowania tensorflow z notebooka jupyter za pomocą Anacondy. --user nie działał.

conda install tensorflow działało dla mnie i nie musiałem zmieniać żadnych ustawień zabezpieczeń.


0

Spróbuj tego, jeśli nic nie działa w przypadku błędu pozwolenia, to rozwiąże problem.

sudo chown user -R env

jako przykład dla mojej sprawy

sudo chown ubuntu -R venv




0

Musiałem zainstalować z pliku wymagań i otrzymywałem ten błąd, ale nie chciałem używać tej --useropcji, ponieważ nie chciałem instalować jej w lokalizacji opisanej przez @ not2qubit . Uruchomiłem więc CMD jako administrator, a następnie włączyłem udostępnianie następującego katalogu ( kliknij prawym przyciskiem myszy> właściwości> Udostępnianie> Udostępnij ... ):

C:\Users\<my user name>\AppData\Local\Temp

Po wykonaniu tej czynności udało mi się zainstalować z mojego pliku wymagań do katalogu aplikacji (tam, gdzie chciałem) zamiast szalonego ..\AppDatakatalogu bez błędu.


0

Miałem ten sam problem podczas dodawania Flaska. Więc użyłem jednego z powyższych poleceń.

pip install --ignore-installed --upgrade --user flask

Dostałem tylko małe ostrzeżenie i zadziałało !!

Instalowanie zebranych pakietów: click, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask OSTRZEŻENIE: Skrypt flask.exe jest instalowany w katalogu „C: \ Users \ Admin \ AppData \ Roaming \ Python \ Python38 \ Scripts”, który nie znajduje się w PATH. Rozważ dodanie tego katalogu do PATH lub, jeśli wolisz pominąć to ostrzeżenie, użyj --no-warn-script-location. Pomyślnie zainstalowano Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0 OSTRZEŻENIE: Używasz pip w wersji 20.1.1; jednak dostępna jest wersja 20.2. Należy rozważyć aktualizację za pomocą polecenia „c: \ python38 \ python.exe -m pip install --upgrade pip”.



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.