Разница между питоном setup.py установить и пункт Установить'


у меня есть внешний пакет, который я хочу установить в свой python virtualenv из файла tar. Что является лучшим способом, чтобы установить пакет?

я обнаружил 2 способа, которые могут это сделать:

  1. извлеките файл tar, затем запустите python setup.py install внутри распакованного каталога.
  2. pip install packagename.tar.gz из примера # 7 в https://pip.pypa.io/en/stable/reference/pip_install/#examples

Если есть какая-то разница делать их в эти 2 способа.

2 57

2 ответа:

на поверхности оба делают одно и то же: делают либо python setup.py install или pip install <PACKAGE-NAME> будет установить пакет python для вас с минимумом суеты.

тем не менее, использование pip предлагает некоторые дополнительные преимущества, которые делают его гораздо приятнее в использовании.

  • pip автоматически загрузит все зависимости для пакета для вас. Напротив, если вы используете setup.py, вам часто приходится вручную искать и загружать зависимости, что утомительно и может стать расстраивающий.
  • pip отслеживает различные метаданные, что позволяет легко удалять и обновлять пакеты с помощью одной команды:pip uninstall <PACKAGE-NAME> и pip install --upgrade <PACKAGE-NAME>. Напротив, если вы устанавливаете пакет с помощью setup.py, вы должны вручную удалить и поддерживать пакет вручную, если вы хотите избавиться от него, что может быть потенциально подвержено ошибкам.
  • вам больше не нужно вручную загружать файлы. Если вы используете setup.py, вы должны посетить веб-сайт библиотеки, выяснить, где загрузите его, извлеките файл, запустите setup.py... Напротив, pip будет автоматически искать Индекс Пакета Python (PyPi), чтобы увидеть, если пакет существует там, и будет автоматически загружать, извлекать и устанавливать пакет для вас. За некоторыми исключениями, почти каждая действительно полезная библиотека Python может быть найдена на PyPi.
  • Пип позволит вам легко установить колеса, который является новым стандартом распространения Python. подробнее о колеса.
  • pip предлагает дополнительные преимущества, которые хорошо интегрируются с помощью virtualenv, которая представляет собой программу, которая позволяет запускать несколько проектов, требующих конфликтующих библиотек и версий Python на вашем компьютере. Подробнее.
  • pip по умолчанию поставляется с Python начиная с Python 2.7.9 на Python 2.X серии, и по состоянию на Python 3.4.0 на Python 3.серии X, что делает его еще проще в использовании.

так что в основном, используйте pip. Оно только предлагает улучшения по сравнению с использованием python setup.py install.


если вы используете старую версию Python, не можете обновить и не установили pip, вы можете найти дополнительную информацию об установке pip по следующим ссылкам:

pip, сам по себе, на самом деле не требует учебника. 90% времени, единственная команда, которая вам действительно нужна, это pip install <PACKAGE-NAME>. Тем не менее, если вам интересно узнать больше о деталях того, что именно вы можете сделать с pip, см.:

также обычно рекомендуется использовать pip и virtualenv вместе. Если вы новичок в Python, я лично думаю, что было бы неплохо начать с простого использования pip и установить пакеты по всему миру, но в конечном итоге я думаю, что вы должны перейти к использованию virtualenv, поскольку вы занимаетесь более серьезными проектами.

если вы хотите узнать больше об использовании pip и virtualenv вместе, см.:

python setup.py install является аналогом make install: это ограниченный способ компиляции и копирования файлов в каталоги назначения. Это не означает, что это лучший способ действительно установить программное обеспечение в вашей системе.

pip это менеджер пакетов, который может устанавливать, обновлять, перечислять и удалять пакеты, такие как знакомые менеджеры пакетов, включая:dpkg, apt, yum, urpmi, ports etc. Под капотом, он будет работать python setup.py install, но с определенными опциями, чтобы контролировать, как и где все заканчивается установленный.

вкратце: используйте pip.