Направление Sublime Text 2 Пакеты для правильной установки python
Я просто хочу направить пакет Sublime Text 2 (SublimeREPL) на правильную установку python - на данный момент он подбирает неправильный.
История здесь знакома пользователям Mac. Mac OS поставляется с установкой python, которую он использует для различных материалов ОС, для которых требуется python. Как и многие другие, я предпочитаю не использовать этот системный python (который находится в /System/Library/...), потому что он обычно устарел и, конечно, не рекомендуется обновлять его - это рабочий питон установки, используемой Mac OS, и обновления рисков, приводящих к тому, что эти задачи ОС, зависящие от этой установки, разбиваются.
Но что версия, полученная пакетом SublimeREPL:
Python 2.7.1 (r271:86832, Jun 25 2011, 05:09:01)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Версия, которую я использую для разработки (и которая установлена в/Library/Frameworks/и символически связана с /usr/local/bin ):
@ > python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Sublime 2 Text подбирает правильную версию в другом месте, за исключением случаев использования SublimeREPL Package, поэтому в одном из файлов конфигурации этого пакета должен быть параметр, который позволит мне перенаправить SublimeREPL на правильный питон.
Но я не могу его найти.
Кажется, что я исчерпал все правдоподобные варианты, которые, просматривая мой /Sublime Text 2/Packages/каталог, должны находиться в:
SublimeREPL/
SublimeREPL (OSX).sublime-settings
SublimeREPL.sublime-settings
или
User/
SublimeREPL.sublime-settings
На самом деле, я добавил следующее из каждого из трех файлов JSON выше, без эффекта:
{
"default_extend_env": {"PATH": "/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin/python2.7:{PATH}"}
}
Ответы
Ответ 1
Если вы хотите использовать repl_open
, вы можете отредактировать параметр cmd
в конфиге. Я использую Ubuntu, и он находится в:
/home/stav/.config/sublime-text-2/Packages/SublimeREPL/config/Python/Main.sublime-menu
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["/usr/local/bin/python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python"
}
},
Ответ 2
Решение @Steven Almeroth не работало для меня.
Вместо этого изменился параметр в следующем каталоге: packages/Python/Python.sublime-build
Здесь доступен следующий код. Просто измените cmd на каталог, в котором находится ваш brew python.
{
"cmd": ["/Library/Frameworks/Python.framework/Versions/2.7/bin/python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
Ответ 3
По моему опыту проще исправить беспорядок вокруг версий, исправляющих переменные среды специально для процесса Sublime Text 2
Единственное прямое и немое решение, которое я нашел - взломать переменные среды для Sublime Text 2. Это можно сделать, создав файл .py с любым именем в папке:
~/Library/Application Support/Sublime Text 2/Packages/User/
Просто добавьте пути, которые вам нужны, и все плагины будут использовать эти настройки.
Дополнительная информация в блоге Роба Додсона: http://robdodson.me/blog/2012/05/14/hacking-the-path-variable-in-sublime-text/
Пример .py:
import os
LOCAL = '/usr/local/bin:/usr/local/sbin:'
# Sublime default path is
# /usr/bin:/bin:/usr/sbin:/sbin
os.environ['PATH'] += ':'
os.environ['PATH'] += LOCAL
print 'PATH = ' + os.environ['PATH']