Лучшие практики с Anaconda и Brew

Я только что получил новый Macbook с OSX Sierra, поэтому хочу, чтобы моя среда разработки была настроена правильно.

Я хочу следовать приведенным здесь "лучшим практикам": https://github.com/nicolashery/mac-dev-setup

Мне нужен Python 2.x для работы (urllib, Pandas, Numpy, Scikit-learn) и Python 3.x для некоторых онлайн-классов (Pandas, Numpy, Django), которые я принимаю. Я установил Python 2 и 3, используя brew install python и brew install python3 соответственно.

Однако по этой ссылке нет упоминания о Anaconda, просто IPython. Учитывая, что у меня уже установлены Python 2 и 3 через Homebrew, рекомендуется ли использовать anaconda, или я должен придерживаться стандартного IPython, как указано выше в ссылке Github? Я смущен после прочтения этого сообщения: OS X - решение между anaconda и homebrew средами Python

Если Brew и Anaconda действительно могут работать вместе, какие конкретные шаги я могу предпринять, чтобы избежать конфликтов между этими двумя версиями?

Ответ 1

Я новичок в python, и у меня были проблемы с моей установкой python. У меня есть установка python из homebrew и anaconda на моем mac. Моя установка anaconda испортила мою зависимость python от homebrew для vim и MacVim.

Мое решение - всякий раз, когда я устанавливаю/обновляю пакет через homebrew, я удаляю anaconda из своего PATH. Это немного боль, но я только устанавливаю/обновляю пакет через доморощенный раз в то время, так что все в порядке.

Для переключения между python 2 и 3 здесь приведены мои команды в терминале:

$ conda search python
...
...
$ conda install python=3.5.0

$ conda info -e
# conda environments:
#
py27                     /Users/apollotang/opt/local/anaconda2/envs/py27
py36                     /Users/apollotang/opt/local/anaconda2/envs/py36
root                  *  /Users/apollotang/opt/local/anaconda2

$ source activate py36      ### <——— here is the command in to change python version 
(py36) $ conda info -e
# conda environments:
#
py27                     /Users/apollotang/opt/local/anaconda2/envs/py27
py36                  *  /Users/apollotang/opt/local/anaconda2/envs/py36
root                     /Users/apollotang/opt/local/anaconda2

(py36) $ python -V
Python 3.6.2 :: Anaconda custom (x86_64)

Я нашел эту команду в разделе Как изменить стандартную среду python Anaconda и http://chris35wills.github.io/conda_python_version/

Кроме того, здесь представлена очень хорошая статья о наилучшей практике настройки среды python на mac https://www.davidculley.com/installing-python-on-a-mac/

Ответ 2

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

Проверьте "Руководство автостопом по Python" о том, как пройти через настройку.

http://docs.python-guide.org/en/latest/dev/virtualenvs/

Ответ 3

Установка anaconda означала бы, что вам не нужна система Python (оставьте ее в системе, так как вы, вероятно, не хотите ее менять) или Pythons, установленный homebrew.

Когда вы создаете среду conda вы можете указать, какую версию Python вы хотите использовать. Например:

$ conda create --name myenv python=3.5

Активация среды conda (после того, как вы сделаете это с помощью source activate myenv) автоматически означает, что команда python будет запускать интерпретатор Python, выбранный вами для этой среды. Пакеты могут быть установлены с помощью pip а также для conda install и в значительной степени совместимы с средами conda.