Настройте пакет Sublime Text 3 Anaconda с другой версией Python

Я использую Sublime Text 3 (ST3) в Mac OS X El Capitan 10.11.1 с пакетом Anaconda, который позволяет запускать Python внутри ST3.

Версия Python, которая работает, когда я запускаю команду «сборка», — 2.7.10.

Вместо этого я хочу использовать Python 3.5.0.

Вопрос: как настроить Anaconda для использования Python 3.5 вместо 2.7 и убедиться, что это глобальная настройка для ST3?

Текущий вывод из sys.version:

2.7.10 (default, Aug 22 2015, 20:33:39) [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)]


person Trevor Sullivan    schedule 28.10.2015    source источник


Ответы (3)


Я делаю это с помощью встроенных настроек проекта ST3.

  • Если вы еще этого не сделали, перейдите к Project >> Save Project As... в меню, чтобы сохранить текущую рабочую область как проект.
  • Затем откройте настройки проекта с помощью Project >> Edit Project. Добавьте что-то вроде следующего:

    {
        "build_systems":
        [
            {
                "cmd":
                [
                    "/path/to/bin/python",
                    "$file"
                ],
                "name": "build system name"
            }
        ]
    }
    

Замените /path/to/bin/python на путь к исполняемому файлу Python, который вы хотите использовать.

Замените build system name именем, которое вы хотите назвать этой системой сборки (например, Python 3.5.0).

Одна приятная особенность этого подхода заключается в том, что вы можете добавить несколько систем сборки и выбрать разные, используя super+shift+p, начать вводить «Сборка с» и выбрать из списка систем сборки.

Обновление:

Вы можете создать новую глобальную систему сборки, перейдя к Tools >> Build System >> New Build System... или используя super+shift+p и набрав «Сборка: Новая система сборки». Замените шаблон, который он предоставляет:

{
    "cmd":
    [
        "/path/to/bin/python",
        "$file"
    ],
}

Обязательно замените путь, как это было сделано выше. Когда вы сохраняете, он должен предложить сохранить его в каталоге настроек пользователя. Назовите его Python-3.5.sublime-build или что-то подходящее. Вам нужно будет указать использовать эту сборку, выбрав ее при сборке или перейдя на Tools >> Build System >> Python-3.5.

Чтобы обойти необходимость выбора системы сборки, другим вариантом является открытие ST3-версии системы сборки Python. На моей машине с OS X я сделал это, перейдя к /Applications/Sublime Text.app/Contents/MacOS/Packages. Внутри вы увидите файл с именем Python.sublime-package. Это заархивированный файл. Вы можете добавить суффикс .zip и разархивировать его, чтобы получить доступ к его Python.sublime.build. Этот файл (для меня) выглядит так:

{
    "shell_cmd": "python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "python -m py_compile \"${file}\"",
        }
    ]
}

Вы можете либо добавить путь Python к обоим экземплярам shell_cmd, либо добавить пару экземпляров "path": "/path/to/python/directory/", на том же уровне, что и shell_cmd.

Затем вам нужно будет повторно заархивировать (и удалить расширение .zip).

person Mike Covington    schedule 28.10.2015
comment
Спасибо, это очень полезно. Есть ли способ установить это глобально или только в настройках проекта? - person Trevor Sullivan; 29.10.2015
comment
@TrevorSullivan - я добавил еще две опции для глобальных систем сборки. Отказ от ответственности: я не тестировал окончательный вариант, который я описал. - person Mike Covington; 29.10.2015

Вы можете настроить пользовательские настройки anaconda на Preferences > Package Settings > Anaconda > Settings-User, добавив нужную версию python как "python_interpreter": "python3", (или любую другую версию python).

НАПРИМЕР

{
    "auto_formatting": true,
    "autoformat_ignore":
    [
        "E309",
        "E501"
    ],
    "pep8_ignore":
    [
        "E221",
        "E266",
        "E309",
        "E501",
        "E722",
        "W503"
    ],
    "anaconda_linter_phantoms": false,
    "anaconda_linter_underlines": false,
    "anaconda_linter_mark_style": "none",
    "display_signatures": false,
    "disable_anaconda_completion": false,
    "auto_complete_triggers":
    [{"selector": "source.python - string - comment - constant.numeric",
                  "characters": "."
                }
    ],
    "python_interpreter": "python3",
}
person Felippe Campos    schedule 06.05.2019

Вы можете переопределить настройки пакета Sublime Text 3, создав папку с именем пакета в подпапке Packages вашей папки конфигурации ST3 и создав там файлы конфигурации с тем же именем.

Папки конфигурации пользователя:

  • Линукс: ~/.config/sublime-text-3/Packages/
  • macOS: ~/Library/Application Support/Sublime Text 3/Packages/
  • Окна: %APPDATA%/Roaming/Sublime Text 3/Packages/

В этом случае создайте подпапку с именем Python и либо разархивируйте установленный файл Python.sublime-package из установки ST3 в эту папку, чтобы изменить файл возвышенной сборки, либо просто создайте следующий файл с именем Python.sublime-build в этой папке:

{
    "shell_cmd": "python3 -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "python3 -m py_compile \"${file}\"",
        }
    ]
}

Таким образом, вам не нужно изменять какие-либо установочные файлы, которые в противном случае могут быть перезаписаны обновлением ST3. И это по-прежнему цель сборки Python по умолчанию.

person Corben    schedule 15.07.2016