Python LinuxWindowsmacOS

Python: pip — Permission denied при установке пакетов

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Системный каталог недоступен без прав. Используйте виртуальное окружение или --user; не применяйте sudo pip.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если не помогло
  5. Если проблема осталась

#Что означает ошибка

Сообщение
Permission denied

Системный каталог недоступен без прав. Используйте виртуальное окружение или --user; не применяйте sudo pip.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Системный PythonПуть отказа указывает на системный site-packagesИспользовать python -m venv
Нет прав записиЗапись запрещена в каталоге проектаПроверить владельца и точный путь отказа
Окружение не активноpip ссылается на другой PythonАктивировать окружение
Защищено ОССообщение externally-managed-environmentИспользовать изолированное окружение

#Пошаговое решение

  1. Выясните, куда pip пытается записывать файлыВ терминале проекта запустите python -m pip --version и python -c "import sys; print(sys.executable); print(sys.prefix)". Ошибка Permission denied часто возникает при записи в системный каталог, но может относиться к одному конкретному заблокированному файлу. Прочитайте путь после ошибки: если это системный site-packages, не меняйте права всего каталога и не используйте sudo pip. Если путь внутри проекта, проверьте, не открыт ли файл другим процессом.
  2. Создайте отдельное виртуальное окружениеВ каталоге проекта выполните python -m venv .venv. Затем в macOS/Linux — source .venv/bin/activate, в Windows cmd — .venv\Scripts\activate.bat; для PowerShell используйте .\.venv\Scripts\Activate.ps1, если политика разрешает. Если venv недоступен в Debian/Ubuntu, установите подходящий пакет python3-venv через администратора системы. В приглашении обычно появляется (.venv); убедитесь также, что python -m pip --version указывает внутрь окружения.
  3. Устанавливайте зависимости в окружениеВ активированном окружении выполните python -m pip install -r requirements.txt, если проект поставляется с этим файлом, либо python -m pip install ИМЯ_ПАКЕТА, подставив точное название. Для разовой установки пользовательского пакета без venv можно использовать python -m pip install --user ИМЯ_ПАКЕТА, только если среда допускает этот режим; на системах с защитой EXTERNALLY-MANAGED предпочтительнее venv. Не применяйте --break-system-packages как обычное решение.
  4. Проверьте доступ и исключите блокировку файлаПовторите исходную установку и проверьте python -m pip show ИМЯ_ПАКЕТА. Если отказ относится к файлу внутри .venv, закройте редактор, терминалы и программы, которые используют эту среду, проверьте свободное место и права текущего пользователя именно на каталог проекта. Не делайте рекурсивное chmod 777 или chown для всей системы. Сохраните путь отказавшего файла и вывод python -m pip --version, если проблема остаётся.

#Если не помогло

Не используйте sudo pip install: это может повредить системные пакеты.

#Если проблема осталась

Если «Python: pip — Permission denied при установке пакетов» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.