2016-10-13 1 views
5

Я использую Sublim Text 3 для Mac OS X El Capitan. Мне нужно сделать, чтобы оценить файл Python в Sublime Text 3.Изменить версию Python для оценки файла с помощью плагина SublimREPL

Я установил Package Control, а затем SublimREPL плагины.

Я установил двухстрочный макет (View > Layout > Rows: 2), чтобы отобразить интерпретатор Python во второй части экрана.

Затем я запускаю интерпретатор Python с помощью Tools > Command Palette... > SublimeREPL: Python.

enter image description here

интерпретатор запускается правильно, и я получаю это:

enter image description here

Я не могу найти, как начать с Python 3.5, который я скачал вручную (при этом устанавливается в /usr/local/bin/). Я попытался изменить этот файл: /Library/Application Support/Sublime Text 3/Packages/SublimeREPL/Config/Python/Main.sublime-menu, следуя инструкциям this post, но это ничего не изменило (Python 2.7.10 все еще запущен).

Вот содержание моего Main.sublime-menu:

[ 
    { 
     "id": "tools", 
     "children": 
     [{ 
      "caption": "SublimeREPL", 
      "mnemonic": "R", 
      "id": "SublimeREPL", 
      "children": 
      [ 
       {"caption": "Python", 
       "id": "Python", 

       "children":[ 
        {"command": "repl_open", 
        "caption": "Python", 
        "id": "repl_python", 
        "mnemonic": "P", 
        "args": { 
         "type": "subprocess", 
         "encoding": "utf8", 
         "cmd": ["python", "-i", "-u"], 
         "cwd": "$file_path", 
         "syntax": "Packages/Python/Python.tmLanguage", 
         "external_id": "python", 
         "extend_env": {"PYTHONIOENCODING": "utf-8"} 
         } 
        }, 
        {"command": "python_virtualenv_repl", 
        "id": "python_virtualenv_repl", 
        "caption": "Python - virtualenv"}, 
        {"command": "repl_open", 
        "caption": "Python - PDB current file", 
        "id": "repl_python_pdb", 
        "mnemonic": "D", 
        "args": { 
         "type": "subprocess", 
         "encoding": "utf8", 
         "cmd": ["python", "-i", "-u", "-m", "pdb", "$file_basename"], 
         "cwd": "$file_path", 
         "syntax": "Packages/Python/Python.tmLanguage", 
         "external_id": "python", 
         "extend_env": {"PYTHONIOENCODING": "utf-8"} 
         } 
        }, 
        {"command": "repl_open", 
        "caption": "Python - RUN current file", 
        "id": "repl_python_run", 
        "mnemonic": "R", 
        "args": { 
         "type": "subprocess", 
         "encoding": "utf8", 
         "cmd": ["python", "-u", "$file_basename"], 
         "cwd": "$file_path", 
         "syntax": "Packages/Python/Python.tmLanguage", 
         "external_id": "python", 
         "extend_env": {"PYTHONIOENCODING": "utf-8"} 
         } 
        }, 
        {"command": "repl_open", 
        "caption": "Python - IPython", 
        "id": "repl_python_ipython", 
        "mnemonic": "I", 
        "args": { 
         "type": "subprocess", 
         "encoding": "utf8", 
         "autocomplete_server": true, 
         "cmd": { 
          "osx": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"], 
          "linux": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"], 
          "windows": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"] 
         }, 
         "cwd": "$file_path", 
         "syntax": "Packages/Python/Python.tmLanguage", 
         "external_id": "python", 
         "extend_env": { 
          "PYTHONIOENCODING": "utf-8", 
          "SUBLIMEREPL_EDITOR": "$editor" 
         } 
        } 
        } 
       ]} 
      ] 
     }] 
    } 
] 

Еще следующие this post советов, я изменил часть кода ниже, но я не могу найти какой-либо файл программы в папке /usr/local/bin/:

{"command": "repl_open", 
"caption": "Python - PDB current file", 
"id": "repl_python_pdb", 
"mnemonic": "D", 
"args": { 
    "type": "subprocess", 
    "encoding": "utf8", 
    "cmd": ["/usr/local/bin/python3", "-i", "-u", "-m", "pdb", "$file_basename"], 
    "cwd": "$file_path", 
    "syntax": "Packages/Python/Python.tmLanguage", 
    "external_id": "python", 
    "extend_env": {"PYTHONIOENCODING": "utf-8"} 
    } 
} 

Когда я нажимаю, + f (согласно doc), интерпретатор по-прежнему начинается с Python 2.7.10.

+0

Неформально знакомый с OSX, но с linux установка Python3.x будет иметь исполняемый файл, названный чем-то вроде 'python3' или' python35'. Если '/ usr/local/bin /' пуст, как вы упомянули, то вероятность того, что он был установлен в '/ usr/bin', а если нет, то о'/Library/Frameworks/'или даже просто в приложениях? – David

+0

Еще одна вещь, которую нужно попробовать в командной строке, если вы можете запустить python3, 'whereis python' или' какой python' скажет вам, где он находится. Аналогично, внутри сайта импорта интерпретатора Python 3; print (site.USER_SITE) '" должен "распечатать местоположение каталога сайтов сайтов python3. – David

ответ

3

похоже, что вы изменяете неправильные файлы конфигурации, и, возможно, некоторые из них вызывают проблемы.

Я затем запустить интерпретатор Python с Tools > Command Palette... > SublimeREPL: Python

Там нет команды элемента палитры "SublimeREPL: Python", поэтому я предполагаю, что вы имеете в виду Tools > SublimeREPL > Python > Python. Это открывает в закладке что-то вроде следующего:

# *REPL* [python] 
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

На самом деле Tools > SublimeREPL > Python отображает меню что-то вроде следующего:

Python - execnet 
Python 
Python - virtualen 
Python - PDB current file 
Python - RUN current file 
Python - IPython 

До сих пор так хорошо. Но как изменить версию Python?

В идеале мы могли бы либо настроить глобальный питон для использования (что не представляется возможным), либо добавить вариант версии в меню, описанное выше (что тоже не представляется возможным).

Наиболее подходящим решением является добавление варианта пользовательской версии.

Создайте файл с именем Packages/User/Menu.sublime-menu (если он еще не существует). Найдите каталог пакетов пользователей через Menu > Preferences > Browse Packages...). И создайте свое меню в этом файле.Это меню будет добавлено в существующие меню.

Например:

Packages/User/Menu.sublime-menu

[ 
    { 
     "id": "tools", 
     "children": 
     [{ 
      "caption": "SublimeREPL Variants", 
      "id": "SublimeREPLVariants", 
      "children": 
      [ 
       { 
        "command": "repl_open", 
        "caption": "Python - PDB current file", 
        "id": "repl_python_pdb", 
        "mnemonic": "D", 
        "args": { 
         "type": "subprocess", 
         "encoding": "utf8", 
         "cmd": ["/usr/bin/python3", "-i", "-u", "-m", "pdb", "$file_basename"], 
         "cwd": "$file_path", 
         "syntax": "Packages/Python/Python.tmLanguage", 
         "external_id": "python", 
         "extend_env": {"PYTHONIOENCODING": "utf-8"} 
        } 
       } 
      ] 
     }] 
    } 
] 

Важен:

  1. Подпись и идентификатор не такой же, как и любое другое меню в противном случае он заменит другое меню , поэтому я назвал это выше «Варианты SublimeREPL».

  2. «cmd» использует абсолютный путь к действительной двоичной системе. Вы можете проверить, вы используете правильный путь, содержащие команды, как which:

    Найти расположение Python с помощью которых:

    $ which python 
    /usr/bin/python 
    
    $ which python3 
    /usr/bin/python3 
    
    $ which python2 
    /usr/bin/python2 
    

    Смотрите также Possible to switch between python 2 and 3 in Sublime Text 3 build systems? (Windows) для получения дополнительной информации.

+0

Есть действительно 'Инструменты> Палитра команд ...> SublimeREPL: меню Python: см. Мое сообщение Я отредактировал и добавил скриншот. – wiltomap

+0

Я попробовал ваше решение, и он отлично справился с этой задачей. Большое спасибо! – wiltomap