Poniendo A Punto Sublime Text 3 Con Python 3

Hola
Resulta que en mi Ubuntu tengo instalado Python 2.7 y Python 3. El Sublime me toma por defecto el 2.7, pero yo programo directamente en el 3, así que he tenido que hacer algunas cosas para adaptarlo. Antes que nada, independientemente de la versión de Python que utilizo he adaptado el editor a Python: los tabuladores, los finales de línea automáticos para más allá de 80 caracteres, etc. Para ello he configurado mi fichero de usuario de preferencias con las siguientes opciones:

  1. {
  2.     "always_show_minimap_viewport": true,
  3.     "draw_minimap_border": true,
  4.     "ensure_newline_at_eof_on_save": true,
  5.     "fade_fold_buttons": true,
  6.     "file_exclude_patterns":
  7.     [
  8.         ".DS_Store",
  9.         "*.pid",
  10.         "*.pyc"
  11.     ],
  12.     "fold_buttons": true,
  13.     "folder_exclude_patterns":
  14.     [
  15.         ".git",
  16.         "__pycache__",
  17.         "env",
  18.         "env3"
  19.     ],
  20.     "font_size": 11,
  21.     "highlight_line": true,
  22.     "highlight_modified_tabs": true,
  23.     "ignored_packages":
  24.     [
  25.         "Vintage"
  26.     ],
  27.     "rulers":
  28.     [
  29.         72,
  30.         79
  31.     ],
  32.     "tab_size": 4,
  33.     "translate_tabs_to_spaces": true,
  34.     "trim_trailing_white_space_on_save": true,
  35.     "word_wrap": true,
  36.     "wrap_width": 80
  37. }

Ahora vamos a hacer que presionando CTRL + B se ejecuten nuestros códigos Python en la versión 3. En el menú de Sublime vamos a Tools->Build System->New Build System, se nos abre un fichero nuevo que lo editamos con las siguientes líneas:

  1. {
  2.     "cmd": ["python3", "-i", "-u", "$file"],
  3.     "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  4.     "selector": "source.python"
  5. }

Lo guardamos, por ejemplo, con el nombre python3.sublime-build, nos dirigimos a Tools->Build System->pyhon 3 y la marcamos. ¡Hecho!
Si tenemos instalado SublimeREPL y queremos que trabaje por defecto con Python 3 y la nueva versión de Ipython nos vamos a editar el fichero Main.sublime-menu sito en nuestra carpeta personal en la ruta ~/.config/sublime-text-3/Packages/SublimeREPL/config/Python y lo dejamos así:

  1. [
  2.      {
  3.         "id": "tools",
  4.         "children":
  5.         [{
  6.             "caption": "SublimeREPL",
  7.             "mnemonic": "r",
  8.             "id": "SublimeREPL",
  9.             "children":
  10.             [
  11.                 {"caption": "Python",
  12.                 "id": "Python",
  13.  
  14.                  "children":[
  15.                     {"command": "repl_open",
  16.                      "caption": "Python",
  17.                      "id": "repl_python",
  18.                      "mnemonic": "p",
  19.                      "args": {
  20.                         "type": "subprocess",
  21.                         "encoding": "utf8",
  22.                         "cmd": ["python3", "-i", "-u"],
  23.                         "cwd": "$file_path",
  24.                         "syntax": "Packages/Python/Python.tmLanguage",
  25.                         "external_id": "python",
  26.                         "extend_env": {"PYTHONIOENCODING": "utf-8"}
  27.                         }
  28.                     },
  29.                     {"command": "python_virtualenv_repl",
  30.                      "id": "python_virtualenv_repl",
  31.                      "caption": "Python - virtualenv"},
  32.                     {"command": "repl_open",
  33.                      "caption": "Python - PDB current file",
  34.                      "id": "repl_python_pdb",
  35.                      "mnemonic": "d",
  36.                      "args": {
  37.                         "type": "subprocess",
  38.                         "encoding": "utf8",
  39.                         "cmd": ["python3", "-i", "-u", "-m", "pdb", "$file_basename"],
  40.                         "cwd": "$file_path",
  41.                         "syntax": "Packages/Python/Python.tmLanguage",
  42.                         "external_id": "python",
  43.                         "extend_env": {"PYTHONIOENCODING": "utf-8"}
  44.                         }
  45.                     },
  46.                     {"command": "repl_open",
  47.                      "caption": "Python - RUN current file",
  48.                      "id": "repl_python_run",
  49.                      "mnemonic": "d",
  50.                      "args": {
  51.                         "type": "subprocess",
  52.                         "encoding": "utf8",
  53.                         "cmd": ["python3", "-u", "$file_basename"],
  54.                         "cwd": "$file_path",
  55.                         "syntax": "Packages/Python/Python.tmLanguage",
  56.                         "external_id": "python",
  57.                         "extend_env": {"PYTHONIOENCODING": "utf-8"}
  58.                         }
  59.                     },
  60.                     {"command": "repl_open",
  61.                      "caption": "Python - IPython",
  62.                      "id": "repl_python_ipython",
  63.                      "mnemonic": "p",
  64.                      "args": {
  65.                         "type": "subprocess",
  66.                         "encoding": "utf8",
  67.                         "autocomplete_server": true,
  68.                         "cmd": {
  69.                             "osx": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],
  70.                             "linux": ["python3", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],
  71.                             "windows": ["python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"]
  72.                         },
  73.                         "cwd": "$file_path",
  74.                         "syntax": "Packages/Python/Python.tmLanguage",
  75.                         "external_id": "python",
  76.                         "extend_env": {
  77.                             "PYTHONIOENCODING": "utf-8",
  78.                             "SUBLIMEREPL_EDITOR": "$editor"
  79.                         }
  80.                     }
  81.                     }
  82.                 ]}
  83.             ]
  84.         }]
  85.     }
  86. ]

Y eso es todo. Si alguien conoce algún tip para mejorarlo, ya sabe
Saludos

Pingbacks/Trackbacks

  1. Bitacoras.com - 31 enero, 2014

    Información Bitacoras.com

    Valora en Bitacoras.com: Hola Resulta que en mi Ubuntu tengo instalado Python 2.7 y Python 3. El Sublime me toma por defecto el 2.7, pero yo programo directamente en el 3, así que he tenido que hacer algunas cosas para adaptarlo. Antes que nada, ind…

Comments are closed.

Proudly powered by WordPress   Premium Style Theme by www.gopiplus.com
A %d blogueros les gusta esto: