Подтвердить что ты не робот

Направление 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}"}
}
4b9b3361

Ответ 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']