Не удалось установить пакеты из-за ошибки EnvironmentError: [WinError 5] Доступ запрещен:


88

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

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!

Процесс возвратил 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.Пожалуйста, помогите мне. Не компьютерный ученый или инженер. Но я кодирую для развлечения.


15
Добавьте --userв команду pip3установки.
Zain Patel

6
Я не понимаю, зачем нам сейчас пользоваться --user? Потому что это якобы устанавливается в каталог пользователя, что может быть не тем, что вам нужно. 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
Я действительно не хочу устанавливать в каталог пользователя, и запуск CMD от имени администратора дает мне те же ошибки.
Майкл Щепаньяк

Ответы:


80

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

pip3 install --upgrade tensorflow-gpu --user

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

34

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


В сообщении об ошибке предлагается следующее: «Рассмотрите возможность использования --userопции или проверьте разрешения». Я добавил --user, и это было решено
thanos.a

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

16

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


Это и перезагрузка после установки Python сработали для меня.
Ryan_S

Это сработало для меня. Странно, что даже Терминал Windows в качестве администратора не работал.
howdoicode

Работает для меня. Интересно, что открытие CMD от имени администратора работало, а открытие Git Bash от имени администратора - нет.
Шломи А.

Действительно, это работает, как ни странно, Windows PowerShell, поскольку администратор показывает сообщение об отказе в доступе и говорит, что установка не удалась, но на самом деле она тоже выполнила свою работу
Джорис,

11

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

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

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


9

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

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


1
Здесь та же проблема.
Флорин Маркус

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

7

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

Удачи


3

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

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

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


2

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

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


2

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

python -m pip install --upgrade pip

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

pip install --user имя_пакета

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


2

Когда все упомянутые методы не дали результата, я смог установить scikit-learn, следуя инструкциям с официального сайта https://scikit-learn.org/stable/install.html .

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

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

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'

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

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

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

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

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

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



2

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

  1. Откройте cmd или anaconda Navigator
  2. Откройте каталог установки python (для навигатора anaconda вы должны указать путь, например C: / cd Anaconda
  3. Затем последним будет python -m pip install --user somepackagename

1

О боже. Здесь так много плохих ответов. Хорошие намерения, но вводящие в заблуждение. Обычно я нормально справляюсь с разрешениями на Mac / Linux. Windows в последнее время для меня в новинку. Это моя проблема.

  1. Создайте virtualenv - хорошо
  2. activatemy 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 года


1

Я решил это, повторно открыв cmd в режиме администрирования, активировав виртуальный env и снова установив.

Это было с Tensorflow 2.3.0 в виртуальной среде.


это не ответ и не решение проблемы.
Джулиано Коста,

0

В моем случае я отключил McAfee, а затем успешно установил tenorflow2.0 RC.


0

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

pip install <package-name>

С правами администратора.


0

Вот как я решил эту проблему.

перейти на python 3.6.x 64bit. Установил 3.6.8 64бит.

установить virtualenv с помощью pip install virtualenv

обновите pip до последней версии, для меня это 19.3

перейдите в папку, в которой вы хотите создать виртуальную среду, и введите virtualenv ENV после создания виртуальной среды, перейдите в подпапку \ PATH \ ENV \ Script и выполните activate.bat. Теперь вы окажетесь в виртуальной среде.

pip install rasa Проблема в том, что для tenorflow 15 требуется 64-битный Python с не более 3,6


0

У меня возникла та же проблема при попытке установить тензорный поток из записной книжки jupyter с помощью Anaconda. --пользователь не работал.

conda install tensorflow у меня сработало, и мне не пришлось менять какие-либо настройки безопасности.


0

Попробуйте это, если ничего не работает в случае ошибки разрешения, это решит ее.

sudo chown user -R env

в качестве примера для моего случая

sudo chown ubuntu -R venv




0

Мне нужно было выполнить установку из файла требований, и я получал эту ошибку, но не хотел использовать эту --userопцию, потому что не хотел устанавливать ее в месте, описанном @ not2qubit . Поэтому я запустил CMD от имени администратора, а затем включил общий доступ к следующему каталогу ( щелкните правой кнопкой мыши> Свойства> Общий доступ> Поделиться ... ):

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

После этого я смог установить из моего файла требований в каталог приложения (где я хотел) вместо сумасшедшего каталога ..\AppDataбез ошибок.


0

У меня была такая же проблема при добавлении Flask. Итак, использовали одну из приведенных выше команд.

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

Получил только небольшое предупреждение, и это сработало !!

Установка собранных пакетов: click, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask ВНИМАНИЕ: скрипт flask.exe устанавливается в папку C: \ Users \ Admin \ AppData \ Roaming \ Python \ Python38 \ Scripts, а не в PATH. Рассмотрите возможность добавления этого каталога в PATH или, если вы предпочитаете подавлять это предупреждение, используйте --no-warn-script-location. Успешно установлен Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0 ВНИМАНИЕ: вы используете версию 20.1.1 программы; однако доступна версия 20.2. Вам следует рассмотреть возможность обновления с помощью команды 'c: \ python38 \ python.exe -m pip install --upgrade pip'.



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.