Чтобы установить локальный проект Python в режиме редактирования на macOS, откройте Терминал, перейдите в каталог проекта, создайте и активируйте виртуальное окружение, а затем выполните python -m pip install -e .. Это связывает импорты Python с вашим рабочим деревом исходного кода, поэтому изменения в файлах Python становятся доступны в новых сессиях интерпретатора без переустановки. Проекту по-прежнему требуются метаданные упаковки, а точное поведение в режиме редактирования зависит от его бэкенда сборки.
Что делает установка в режиме редактирования
Обычная установка помещает проект в выбранное окружение Python в виде установленного пакета. Установка в режиме редактирования вместо этого делает исходный код в каталоге разработки доступным в пути импорта Python. Это полезно, когда вы вносите изменения в этот проект локально; это не означает, что каждый файл проекта или ресурс, не относящийся к Python, обрабатывается одинаково автоматически. Руководство pip по установке локальных проектов
Режим редактирования также не отменяет необходимость работы с зависимостями. pip устанавливает зависимости, объявленные проектом, обычным способом, если только вы не передадите параметр --no-deps. Изменения в исходном коде Python, как правило, видны при следующем запуске, но изменение метаданных проекта, сгенерированных скриптов командной строки или скомпилированного кода может потребовать повторной установки или сборки. Руководство пользователя по упаковке Python: Упаковка и распространение проектов
Подготовка виртуального окружения на macOS
В Терминале перейдите в корневую папку проекта — каталог, содержащий pyproject.toml или поддерживаемый устаревший setup.py. Приведенная ниже команда cd предполагает, что папка находится в вашем домашнем каталоге; заключите путь в кавычки, если он содержит пробелы.
cd "$HOME/path/to/my-project"
python3 --version
python3 -m venv .venv
source .venv/bin/activate
python -m pip --version
Виртуальное окружение изолирует установленные пакеты этого проекта от других окружений Python. После активации python должен указывать на интерпретатор окружения, поэтому использование python -m pip связывает pip именно с этим интерпретатором. Документация Python описывает venv как средство для создания изолированных окружений и документирует команду активации для оболочек POSIX, включая оболочку, используемую по умолчанию в текущих настройках Терминала macOS. Документация Python: venv
Если python3 не найден, сначала установите или найдите интерпретатор Python 3; macOS не гарантирует доступность готового к разработке Python под этой командой. Если проект указывает поддерживаемую версию Python, используйте эту версию для создания .venv. Избегайте установки пакетов в системный Python, если для этой цели подходит окружение проекта.
Установка проекта в режиме редактирования
При активном окружении и находясь в Терминале в корне проекта, выполните:
python -m pip install -e .
Здесь -e означает «editable» (редактируемый), а . обозначает текущий каталог. pip ожидает, что каталог локального проекта содержит pyproject.toml или setup.py. Современные проекты обычно объявляют бэкенд сборки в pyproject.toml; pip обращается к этому бэкенду для выполнения установки в режиме редактирования. Для корректной работы бэкенд должен поддерживать интерфейс редактируемой установки. Справочник по pip install, Интерфейс системы сборки pip
Чтобы выполнить установку из другого каталога, укажите путь к нему вместо ., например python -m pip install -e "$HOME/path/to/my-project". Использование кавычек для пути защищает пробелы и метасимволы командной строки. Установка применяется к окружению Python, связанному с использованной вами командой python.
Проверка окружения и диагностика ошибок
Проверьте список установленных проектов pip, чтобы убедиться, что в нем присутствует пакет и указан его путь как редактируемого проекта:
python -m pip list
Затем запустите Python из активированного окружения и попробуйте импортировать пакет, используя его задокументированное имя для импорта. Имя импорта может отличаться от имени распространяемого пакета (distribution name), поэтому сверяйтесь с README проекта или каталогом пакета, а не пытайтесь угадать. Если импорт работает только из одной папки, убедитесь, что установка указывает на нужный корень проекта и что пакет настроен для обнаружения его бэкендом.
Если pip сообщает, что каталог невозможно установить, убедитесь, что вы находитесь в правильном корневом каталоге и что он содержит pyproject.toml или setup.py. Если бэкенд сборки отклоняет режим редактирования, обновите или настройте бэкенд проекта в соответствии с его документацией; не все устаревшие или пользовательские бэкенды поддерживают редактируемые установки. Для современного проекта с pyproject.toml pip использует хук редактирования PEP 660 самого бэкенда. Интерфейс системы сборки pip
Если при изменении проекта добавляются зависимости, точки входа (entry points) или меняются метаданные, выполните python -m pip install -e . повторно. Для скомпилированных расширений также выполните задокументированные шаги сборки проекта. pip отмечает, что редактируемая и обычная установки могут вести себя по-разному, поэтому редактируемая установка предназначена для локальной разработки; она не заменяет проверку обычного процесса установки перед распространением пакета. Руководство pip по установке локальных проектов
Источники
Упаковка и распространение проектов — Python Packaging Authority
pip install — pip
Интерфейс системы сборки — pip
venv — Создание виртуальных окружений — Python Software Foundation