Python setup.py разработка vs установка
два варианта в setup.py develop
и install
сбивают меня с толку. Согласно этому сайт, используя develop
создает специальную ссылку на каталог site-packages.
люди предложили мне использовать python setup.py install
для новой установки и python setup.py develop
после внесения каких-либо изменений в установочный файл.
может кто-нибудь пролить свет на использование этих команд?
3 ответов
python setup.py install
используется для установки (обычно сторонних) пакетов, которые вы не собираетесь разрабатывать/редактировать/отлаживать самостоятельно.
для ваших собственных вещей, вы хотите, чтобы ваш пакет установлен, а затем иметь возможность часто редактировать код и не придется переустановить ваш пакет-это именно то, что python setup.py develop
делает: устанавливает пакет (как правило, только исходную папку) таким образом, что позволяет удобно редактировать код после его установки в (виртуальный) окружающая среда и изменения вступают в силу немедленно.
обратите внимание, что настоятельно рекомендуется использовать pip install .
(установить) и pip install -e .
(установка разработчика) для установки пакетов, как вызов setup.py напрямую будет делать неправильные вещи для многих зависимостей, таких как вытягивание предварительных версий и несовместимых версий пакетов, и затруднит удаление пакета с помощью pip.
С документация. The develop
не будет устанавливать пакет, но он создаст .egg-link
в каталог развертывания обратно в каталог исходного кода проекта.
так что это похоже на установку, но вместо копирования в site-packages
Он добавляет символическую ссылку (.egg-link
действует как многоплатформенная символьная ссылка).
таким образом, вы можете редактировать исходный код и видеть изменения непосредственно без переустанавливая каждый раз ты немного изменился. Это полезно, когда вы являетесь разработчиком этого проекта, следовательно, имя develop
. Если вы просто устанавливаете чужой пакет, вы должны использовать install
еще одна вещь, которую люди могут найти полезной при использовании develop
метод --user
возможность установки без sudo. Ex:
python setup.py develop --user
вместо
sudo python setup.py develop