Решение: pip устанавливает пакеты, но не находит исполняемые

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Проблема чаще всего сводится к тому, что путь установки исполняемых файлов, установленных при помощи pip, не числится в вашей переменной среды PATH. Для решения этой проблемы выполните следующие действия:

Для Windows:

Bash
Скопировать код
setx PATH "%PATH%;C:\Users\ВашеИмяПользователя\AppData\Local\Programs\Python\PythonXX\Scripts"

(Замените PythonXX на используемую вами версию Python)

Для Unix-подобных систем (Linux/macOS):

Bash
Скопировать код
echo 'export PATH="$PATH:/home/вашеимяпользователя/.local/bin"' >> ~/.bashrc

(Чтобы применить изменения, воспользуйтесь командой source ~/.bashrc или просто перезагрузите терминал)

Убедитесь, что указанные пути соответствуют расположению Python, установленного на вашем компьютере.

Кинга Идем в IT: пошаговый план для смены профессии

Уяснение сущности переменной PATH

PATH — это переменная окружения, содержащая перечень директорий, которые система просматривает при поиске команд. Если после установки пакета через pip, включающего исполняемые файлы, они оказываются вне PATH, то система не может вызвать их из командной строки.

Для просмотра текущего содержимого переменной PATH используйте:

Bash
Скопировать код
echo $PATH

Проверьте, включает ли PATH директорию, куда pip помещает скрипты (как правило, это ~/.local/bin в Unix-подобных системах). Если этой директории нет, вам потребуется ее добавить.

Как сформировать PATH корректно

Добавление пути в файл настроек вашего терминала (.bashrc или .bash_profile) будет полезным для сохранения изменений в будущих сеансах:

Bash
Скопировать код
echo 'export PATH="$PATH:/путь/к/директории"' >> ~/.bashrc
source ~/.bashrc

Если у вас установлено несколько версий Python, добавьте в PATH справочник bin требуемой версии Python:

Bash
Скопировать код
echo 'export PATH="$PATH:~/.local/bin/python3.X/bin"' >> ~/.bashrc

Выявляем причины отсутствия исполняемых файлов

Если вы уверены в правильности значения PATH, но проблема всё же сохраняется, возможными причинами могут быть:

  • Несколько установок Python: Проведите двойную проверку PATH на предмет соответствия версии. Можно использовать команду which python.
  • Пользовательская установка Python: Если установка осуществлялась с ключом --user, проверьте директорию установки через модуль site в Python.
  • Нестандартные места установки: Путь до исполняемого файла может быть вне PATH.

Визуализация

Представьте окружение Python как ящик для инструментов (🧰), в котором хранятся инструменты (🛠️) и перчатки (🧤).

Когда устанавливаете пакет через pip, инструмент (🛠️) может оказаться спрятанным внутри ящика и без указания в PATH (🏞️) система его не "видит".

Настройка переменной PATH аналогична созданию карты расположения инструментов (🛠️), что позволяет вам легко обнаружить их при необходимости.

Если пакеты установлены, но исполняемые файлы недоступны, просто обновите ваш PATH (🔍 в 🏞️), и вы обнаружите необходимые инструменты (🛠️) и перчатки (🧤).

Другие методы решения этой проблемы

Проверка при помощи команды ‘which’

Для обнаружения пути до установленных исполняемых файлов используется команда which:

Bash
Скопировать код
which <имя_исполняемого_файла>

Обзор пользовательской директории Python

При установке пакетов с ключом --user для определения директории пользовательской установки пользуйтесь командой:

Python
Скопировать код
python -m site --user-base

Не забудьте добавить /bin (для Unix-подобных систем) или \Scripts (для Windows) к пути при обновлении PATH.

Перезагрузите вашу оболочку

Обновить настройки терминала и применить изменения в PATH можно таким образом:

Bash
Скопировать код
source ~/.bash_profile  # для macOS
source ~/.bashrc  # для Unix-подобных систем

Сделайте изменения PATH динамичными

Скрипты и инструменты вроде pyenv помогут вам динамично настраивать PATH при регулярной работе с различными окружениями Python.

Полезные материалы

  1. python – pip installs packages successfully, but executables not found from command line – Stack Overflow — Советы и подходы к решению проблем с pip.
  2. 12. Виртуальные окружения и пакеты — Документация Python 3.12.2 — Руководство по использованию виртуальных окружений в Python.
  3. Установка пакетов – Руководство пользователя по упаковке Python — Инструкции по установке пакетов через pip.
  4. Часто Задаваемые Вопросы о Python на Windows — Документация Python 3.12.2 — FAQ по использованию Python на платформе Windows.
  5. Как добавить Python в PATH Windows – Data to Fish — Руководство по добавлению Python в PATH в операционной системе Windows.
  6. sc.exe create | Microsoft Learn — Информация о создании и управлении службами Windows для приложений на Python.