Ответ 1
Изменить: Здесь стоит упомянуть pip
, так как conda
и pip
имеют сходства и различия, которые относятся к этой теме.
pip: диспетчер пакетов Python.
- Вы можете думать о
pip
как эквивалент python команды ruby gem
-
pip
по умолчанию не включен в python. - Вы можете установить Python с помощью homebrew, который автоматически установит pip:
brew install python
- Конечная версия OSX по умолчанию не включала pip. Чтобы добавить pip в свою версию python для Mac, вы можете
sudo easy_install pip
- Вы можете найти и опубликовать пакеты python с помощью PyPI: индекс пакета Python
- Файл requirements.txt сопоставим с ruby
gemfile
- Чтобы создать текстовый файл требований,
pip freeze > requirements.txt
- Обратите внимание, что на данный момент у нас установлен python в нашей системе, и мы создали файл требований. txt, в котором описываются все пакеты python, которые были установлены в вашей системе.
pyenv: диспетчер версий Python
- Из документов: pyenv позволяет легко переключаться между несколькими версиями Python. Он прост, ненавязчив и следует традиции UNIX для универсальных инструментов, которые хорошо что-то делают. Этот проект был разветвлен с rbenv и ruby-build и изменен для Python.
- Многие люди не решаются использовать python3.
- Если вам нужно использовать разные версии python,
pyenv
позволяет вам легко управлять этим.
virtualenv: диспетчер среды Python.
- Из документов: Основная проблема, которая рассматривается, - это одна из зависимостей и версий, а также косвенные разрешения. Представьте, что у вас есть приложение, которое нуждается в версии 1 LibFoo, но для другого приложения требуется версия 2. Как вы можете использовать оба этих приложения? Если вы устанавливаете все в /usr/lib/python 2.7/site-packages (или независимо от стандартного местоположения ваших платформ), его легко закончить в ситуации, когда вы непреднамеренно обновляете приложение, которое не должно быть обновлено.
- Чтобы создать
virtualenv
, просто вызовитеvirtualenv ENV
, гдеENV
- это каталог для размещения новой виртуальной среды. - Чтобы инициализировать
virtualenv
, вам нужноsource ENV/bin/activate
. Чтобы прекратить использование, просто вызовитеdeactivate
. - После активации
virtualenv
вы можете установить все требования к пакету рабочей области, выполнивpip install -r
в файле проектаrequirements.txt
.
Anaconda: Менеджер пакетов + Менеджер среды + Дополнительные научные библиотеки.
- Из документов: Anaconda 4.2.0 включает в себя легкую установку Python (2.7.12, 3.4.5 и/или 3.5.2) и обновления более 100 готовых и проверенных научных и аналитических пакетов Python, которые включают NumPy, Pandas, SciPy, Matplotlib и IPython, с более чем 620 пакетами, доступными через простой
conda install <packagename>
- Как веб-разработчик, я не использовал Anaconda. Это ~ 3 ГБ, включая все пакеты.
- Существует версия slimmed down
miniconda
, которая кажется, что это может быть более простой вариант, чем использованиеpip
+virtualenv
, хотя у меня нет опыта использования его лично. - В то время как
conda
позволяет устанавливать пакеты, эти пакеты являются отдельными, чем пакеты PyPI, поэтому вам все равно придется использовать pip дополнительно в зависимости от типов пакетов, которые вам нужно установить.
См. также:
- conda vs pip vs virtualenv (маркетинговые материалы из анаконды)
- разница между pip и conda (stackoverflow)
- связь между virtualenv и pyenv (stackoverflow)