Я мог бы установить пакет Python ( например , numpy
) на моем Mac либо через Macports:
port install py-numpy
или через pip
:
pip install numpy
Каковы общие плюсы / минусы каждого подхода? Когда следует использовать каждый подход?
- Когда я должен предпочесть одно другому?
- Имеет ли значение, является ли устанавливаемый пакет маленьким или большим (например
numpy
)? - Зависит ли это от версии Python, которую я использую (
2.x
против3.x
или от Applepython
против MacPortpython
)? - Имеет ли значение,
python
установлено ли на моем Mac несколько версий ? - Могут ли они использоваться одновременно?
Я надеюсь, что в ответе будет краткий перечень некоторых плюсов и минусов каждого подхода с обсуждением того, когда выбирать один из них.
matplotlib
.numpy
это просто пример. Я спрашиваю об установке пакетов в целом.Ответы:
Они могут использоваться одновременно, и не должно быть проблем между смешиванием двух (с одной большой оговоркой и уловкой ...)
Предостережение
Предостережение заключается в том, что macports / homebrew и pip не будут знать о том, что каждый из них установлен по сравнению с другим.
Например, допустим, вы установили Python 3.6 на свой Mac. Вы хотите
nltk
, что технически недоступно для этой версии в Macports, но это в пунктах. Итак, вы устанавливаете на пипс. Два месяца спустя вы видите, что он установлен на Macports, и выбираете его установить. Теперь у вас есть две разные версииnltk
на вашем компьютере, поэтому будьте бдительны .Гоча
Если вы используете pip с Macports, вам нужно убедиться, что это pip, установленный через Macports и связанный с этой версией Python. Так, например, вы увидите py35-pip, py36-pip и т. Д.
После того, как вы установите соответствующий пип, вы используете команду Macports,
select
чтобы убедиться, что он активирован с соответствующей версией python:источник
Вы должны использовать
pip
это, потому что это Python-нативный инструмент для управления установкой пакетов, но вы не должны pip-устанавливать вещи в вашу базовую установку Python. Может быть бесполезно разбирать фиксированные зависимости версий между несколькими репозиториями программного обеспечения, если вы устанавливаете все pip в свою базовую установку Python на вашем компьютере.Вместо этого вам следует установить pip-install virtualenv, а затем использовать его для управления различными виртуальными установками Python и всеми соответствующими пакетами пакетов pip-install для каждой виртуальной среды.
Это позволяет вам переключаться с работы, скажем, с
beautifulsoup
1.x в одном репозитории программного обеспечения наbeautifulsoup
2.x в другом репозитории без необходимости проходить через ад управления зависимостями.источник
Я только что провел быстрый тест для поиска того же пакета, используя Homebrew , MacPorts и pip3 :
MacPorts и pip3 имели одинаковый пакет (версия 1.18.1 ), тогда как Homebrew имел версию 1.16 .
Сотрудничая с другими, лучше всего договориться о том, как настроены среды разработки, иначе вы столкнетесь с аномалиями и получите разные результаты тестирования. Поэтому лучший инструмент - это тот, с которым вы все согласны ;-)
источник