Не вдалося встановити пакети через помилку EnvironmentError: [WinError 5] Доступ заборонено:


89

У мене є 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, оскільки адміністратор видає мені ті самі помилки.
Michael Szczepaniak

Відповіді:


81

Просто введіть команду, яку потрібно виконати з дозволом користувача, якщо ви не хочете змінювати дозвіл:

pip3 install --upgrade tensorflow-gpu --user

4
@Dylan Cooper, будь ласка, прийміть цю відповідь, щоб не копати довгі роки відповідей
PolarBear10

34

виконати ту саму команду, використовуючи '--user'


Повідомлення про помилку пропонує таке: "Подумайте про використання --userопції або перевірте дозволи". Я додав --user, і це було вирішено
thanos.

Тож немає різниці, чи використовуєте ви команду без або з '--user'? тому що це те, що ви, здається, припускаєте ...
хв

Так, є різниця: замість цього пакет буде встановлений у% userprofile%.
агкала

16

Я виявив, що якщо я запустив CMD як адміністратор і запустив команду, я зможу встановити її без проблем. Спробуйте і дайте мені відгук.


Це та перезавантаження після встановлення Python працювали для мене.
Ryan_S

Це спрацювало для мене. Дивно, що навіть термінал Windows як адміністратор не працював.
howdoicode

Працює для мене. Цікаво, що працювало лише відкриття CMD як адміністратора, тоді як Git Bash як адміністратора - ні.
Шломі

Дійсно, це працює, як це не дивно, Windows PowerShell, оскільки адміністратор показує повідомлення про заборону доступу та каже, що встановлення не вдалося, але насправді це теж зроблено
Джоріс,

11

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

У моєму випадку windows10 :

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


9

Я модернізував tensorflow до 1.4.0 і вдарився головою об стіну, оскільки ця помилка не вирішувала, але нарешті її вирішила. Вгадай що?

Один із моїх скриптів python працював, і він використовував tensorflow 😂😂. Пакет успішно встановлений після його закриття. 👍


1
Тут та сама проблема.
Флорін Маркус,

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

7

Для мене (у вікнах) мені довелося перезапустити термінал і запустити його як адміністратор (якщо ви використовуєте термінал pycharm, просто закрийте pycharm і знову відкрийте його як адміністратор, а потім повторіть спробу), це вирішило проблему та встановлення вдалося.

Удачі


3

Для встановлення tensorflow використовуйте цю команду, включаючи --User.

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

Тут 2.0.1 - це версія tensorflow.


2

TYPE CMD у пошуку, і коли командний рядок з'являється в результатах пошуку BEST MATCH правою кнопкою миші на ньому та вибирає "Запуск від імені адміністратора", коли з'являється вікно керування користувачем, виберіть "Так". З'явиться вікно командного рядка, і ви побачите "C: / WINDOWS / system32>"

в цей момент просто введіть те, що ви хочете, повинно працювати!


2

Оновлення pip у вікнах за допомогою -

python -m pip install --upgrade pip

а потім запустіть pip install за допомогою --user option -

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

Це має спрацювати

pip install --user requests

1
Чому це буде працювати. Надайте більше пояснень у своїй відповіді.
DevMike01

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. activateмій virtualenv - не вдалося. Потрібен Scope для запуску PowerShell. Windows корисний і точно повідомляє вам команду, яку потрібно запустити, щоб дозволити .ps працювати. Начебто як, chmodале з виконанням, scopeяке, на мою думку, добре.
  3. Тепер, якщо ви пройшли вищезазначене і встановили кілька пакетів, це нормально. Поки ти раптом не зможеш. Тоді ви отримуєте цю помилку дозволу.
  4. Щось ви або інший процес встановили дозвіл на папку, де pip встановлює пакети. тобто ...site-packages/в моєму випадку я підозрюю, що це OneDrive або якийсь спадщину дозволу.

Ідеальний шлях уперед - перевірка дозволів. Це важко, але ви розробник Python? Спочатку перевірте власного користувача.

  1. whoami наприклад mycomputer \ vangel
  2. Get-Acl <path which is an issue>
  3. у папці встановлення Python або у вашому virtualenv клацніть правою кнопкою миші та перейдіть на вкладку Безпека. Клацніть додатково та перегляньте дозволи. Я видалив усі успадковані дозволи та інших користувачів тощо, і додав свійwhoami чіткість користувачів із повними дозволами. потім застосовується до всіх об’єктів.

Не робіть цього, не перевіряючи наведені нижче дії. Уважно прочитайте повідомлення.

Це аж ніяк не рішення для всіх проблем з дозволами, які можуть вплинути на вас. Я можу надати лише вказівки щодо усунення несправностей, і, сподіваюся, ви вирішите проблему.

встановлення --userпрапора ніде не потрібно, якщо це добре вам підходить. Але ви все ще не знаєте, що пішло не так.

Більше кроків: Спробуйте видалити пакет та встановити його. pip uninstall requests pip install requests Це працює, але я отримую дозвіл на певний пакет.

Виявляється, Windows видає помилку дозволу, коли файл блокується процесом. Python повідомляє про це, [Winerror 5]і я все одно не міг легко знайти посилання на цю документацію. давайте перевіримо цю теорію.

Я знайшов точний файл, який отримує помилку дозволу. Натисніть "Видалити". Звичайно, windowпідказка про те, що Windows відкрита, pythonзвичайно, є.

Я вдарив end taskпо всьому python Він працює з 1996 року. Але я зачекав кілька секунд на випадок, якщо якийсь процес запускає python. ПеревірилиTask manager все добре.

Не вдавшись 20 разів отримати піп для встановлення конкретного пакета azureml, я був впевнений, що це вирішило.

Я запустив установку pip, і вона встановилася чудово.

Мораль історії: Зрозумійте, що ви робите, перед копіюванням вставки зі Stackoverflow. Все найкраще.

ps Будь ласка, припиніть встановлення Python або його пакетів як адміністратора. Ми пройшли це з 2006 року


1

Я вирішив це шляхом повторного відкриття cmd в режимі адміністрування, активації віртуальної env та встановлення знову.

Це було з Tensorflow 2.3.0 у віртуальному середовищі.


це не відповідь і не вирішення проблеми.
Джуліано Коста

0

У моєму випадку я відключив McAfee, а потім успішно встановив tensorflow2.0 RC


0

Використання підвищеного командного рядка творило чудеса. Все, що вам потрібно зробити - це бігти

pip install <package-name>

З адміністративним привілеєм.


0

Ось як я вирішив це питання.

повернутися до версії python 3.6.x 64bit. Я встановив 3.6.8 64bit.

встановити virtualenv за допомогою pip встановити

оновити pip до останньої версії, для мене це 19.3

перейдіть до папки, в якій ви хочете створити віртуальне середовище, і введіть virtualenv ENV після створення віртуального середовища, перейдіть до підпапки \ PATH \ ENV \ Script і запустіть activate.bat.Тепер ви опинитесь у віртуальному середовищі.

pip install rasa Проблема полягає в тому, що для tensorflow 15 потрібен 64-бітний python із не більше 3,6


0

Я зіткнувся з тією ж проблемою при спробі встановити tensorflow з ноутбука 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

У мене була та сама проблема під час додавання колби. Так використана одна з наведених команд.

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 ПОПЕРЕДЖЕННЯ: Ви використовуєте версію pip 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.