Как изменить среду Anaconda python по умолчанию


Я установил Anaconda и создал две дополнительные среды: py3k (который содержит Python 3.3) и py34 (который содержит Python 3.4). Кроме того, у меня есть среда по умолчанию с именем "root", которую установщик Anaconda создал по умолчанию и которая содержит Python 2.7. Этот последний является по умолчанию, всякий раз, когда я запускаю "ipython" с терминала, он дает мне версию 2.7. Для того, чтобы работать с Python 3.4, я должен выдать команды (в оболочке)

source activate py34
ipython

что изменить среда по умолчанию для Python 3.4. Это прекрасно работает, но это раздражает, так как большую часть времени я работаю на Python 3.4, а не на Python 2.7 (который я держу для учебных целей, это довольно длинная история). В любом случае, я хотел бы знать, как изменить среду по умолчанию на Python 3.4, имея в виду, что я не хочу переустанавливать все с нуля.

5 108

5 ответов:

во-первых, убедитесь, что у вас есть последняя версия conda, запустив

conda update conda

затем запустите

conda install python=3.5

это будет попытка обновить все ваши пакеты в корневой среде до версии Python 3. Если это невозможно(например, потому что какой-то пакет не построен для Python 3.5), он выдаст вам сообщение об ошибке, указывающее, какой пакет (ы) вызвал проблему.

Если вы установили пакеты с Pip, вам придется переустановить их.

в Linux есть более простой способ установить среду по умолчанию, изменив ~/.bashrc или ~/.bash_profile В конце вы найдете что-то вроде

# added by Anaconda 2.1.0 installer
export PATH="~/anaconda/bin:$PATH"

заменить

# set python3 as default
export PATH="~/anaconda/envs/python3/bin:$PATH"

и вот и все.

обзор
Некоторые люди имеют несколько сред Anaconda с различными версиями python по соображениям совместимости. В этом случае у вас должен быть сценарий, который устанавливает среду по умолчанию. С помощью этого метода вы можете сохранить версии python, которые вы используете в своих средах.

предполагается имя_приложения - имя вашей среды

Mac / Linux:
Отредактируйте свой профиль bash так что последняя строка- " source activate имя_приложения". В Mac OSX это~/.bash_profile в других средах это может быть ~/.bashrc

пример:
Вот как я это сделал на Mac OSX

  1. откройте терминал и введите:

    нано ~/.файл

  2. перейдите в конец файла и введите следующее, Где" p3.5 " - это моя среда:

    источник активации Р3.5

  3. Выход Из Файла. Откройте новое окно терминала.

  4. введите следующее, чтобы увидеть, какая среда активна

    conda info-e

результат показывает, что я использую свою среду p3.5 по умолчанию.

Для Windows:
Создайте командный файл (.cmd) с помощью "активировать имя_приложения " и следуйте этим инструкциям, чтобы он выполнялся всякий раз, когда вы откройте командную строку

  1. создайте команду пакетного файла, например " my_conda.cmd", поместите его в папку данных приложения.
  2. настроить его для автоматического запуска при каждом открытии cmd. Этот параметр находится в реестре:
    ключ: HKCU\SOFTWARE\Microsoft\Command Processor
    значение: автозапуск
    тип: reg_expand_sz для
    данные: "%AppData%\my_conda.cmd"

из этого ответа: https://superuser.com/a/302553/143794

для windows Anaconda поставляется с подсказкой Anaconda, которая является ярлыком для cmd и может использоваться для выполнения команд conda без добавления anaconda в переменную PATH. Найдите его местоположение, скопируйте и переименуйте копию (скажем myenv_prompt). Щелкните правой кнопкой мыши myenv_prompt и выберите Свойства в контекстном меню.

enter image description here

The целевая форма окно свойств уже должно быть заполнено текстом, что-то вроде %windir%\system32\cmd.exe "/K" C:\Users\xxx\AppData\Local\Continuum\Miniconda3\Scripts\activate.bat C:\Users\xxx\AppData\Local\Continuum\Miniconda3\ Есть три части из этой команды 1)запустить ...\УМК.exe 2) run ...\acitvate.летучая мышь с окружающей средой 3)...\Miniconda3\

измените 3-ю часть на путь среды (скажем myenv), которую вы хотите по умолчанию, т. е. заполните целевая форма что-то вроде %windir%\system32\cmd.exe "/K" C:\Users\xxx\AppData\Local\Continuum\Miniconda3\Scripts\activate.bat C:\Users\xxx\AppData\Local\Continuum\Miniconda3\envs\myenv

теперь myenv_prompt будет действовать как ярлык для запуска cmd с myenv в качестве среды по умолчанию для python. Этот ярлык можно сохранить в меню Пуск или закрепить на панели задач.

одним из преимуществ этого метода является то, что вы можете создайте несколько ярлыков, каждый из которых имеет различную среду в качестве среды по умолчанию. Также вы можете установить папку по умолчанию, заполнив в начало форма окна Свойства

надеюсь, что это помогает

PS: не требуется, чтобы найти подсказку Anaconda и может быть сделано путем изменения цели любого ярлыка. Но вам потребуется знать путь cmd.exe и активировать.летучая мышь

Я не был удовлетворен ни одним из представленных здесь ответов, так как активация среды занимает несколько секунд на моей платформе (по какой-либо причине)

Я изменил переменную path, чтобы среда, которую я хочу по умолчанию, имела приоритет над фактическим значением по умолчанию.

в моем случае я использовал следующие команды для выполнения этого для среды "py35":

setx PATH "%userprofile%\Anaconda3\envs\py35\;%PATH%"
setx PATH "%userprofile%\Anaconda3\envs\py35\Scripts;%PATH%"

чтобы узнать, где хранится ваша среда, активируйте ее и введите where python. Я пока не уверен, есть ли у этого подхода какие-либо недостатки. Поскольку он также изменяет путь по умолчанию для исполняемого файла conda. Если это так, пожалуйста, прокомментируйте.