OS X - решение между средами anaconda и homebrew Python

Я использую Python широко на моей Mac OS X, как для численных приложений, так и для веб-разработки (примерно одинаково). Недавно я проверил количество установок Python, которые у меня были на моем ноутбуке, и был шокирован тем, что нашел четыре:

Came with Mac OS X:
/usr/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

Installed via Homebrew
/usr/local/bin/python
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin

Installed via Anaconda/Miniconda
~/anaconda/bin/python
Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, Oct 19 2015, 18:31:17)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

Came with the downloaded .pkg from python.org
/System/Library/Frameworks/Python.framework/Versions/Current/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

Я решил объединить все это и использовать conda. Я удалил версию Homebrew и загрузку Python.org(сохранил основную систему). Conda отлично подходит для численных вычислений, потому что я могу установить Jupyter/Numpy/Pandas в корневую среду и не должен беспокоить установку virtualenvs для каждого проекта.

Но теперь весь рабочий процесс веб-разработки запутан. Ни один из моих virtualenvs не работает, поскольку, по-видимому, не предполагается использовать conda и virtualenv вместе. Я попытался создать среды конда из файла requirements.txt. Один пакет, который я использовал с django, был "markdown_deux", который недоступен в репозитории Conda. Я рассмотрел способы его создания, но создание рецепта требует больших усилий (создайте файл YAML и т.д.)

Кто-нибудь нашел хороший компромисс для этого? Я собираюсь вернуться к версии homebrew для общего использования и написать псевдоним для изменения пути к версии conda по мере необходимости. Хотя это также потребует отслеживания, которое я использую сейчас.

Ответы

Ответ 1

Я использую Homebrew Python для всех моих проектов (наука о данных, некоторые веб-разработчики).

Конда ничем не интересен, вы можете иметь те же пакеты вручную с комбинацией pip и Homebrew science. На самом деле, это даже лучше, потому что у вас больше контроля над тем, что вы устанавливаете.

Вы можете использовать свои виртуальные виртуальные машины только при веб-разработке. Для числовых приложений вы, вероятно, захотите иметь последние версии своих пакетов в любое время.

Если вы хотите сразу обновить все свои пакеты с помощью pip, вы можете использовать эту команду:

sudo -H pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo -H pip install -U