SublimeText + Python Virtualenvs + Mac OSX

by MGonzalez506 in Circuits > Apple

733 Views, 0 Favorites, 0 Comments

SublimeText + Python Virtualenvs + Mac OSX

Portada-MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.002.jpeg

Este instructables tiene como finalidad configurar ambientes virtuales de Python, para ser utilizados dentro de SublimeText.

SublimeText es una herramienta muy poderosa y liviana, de visualización de código, que resulta fantástica para programar en múltiples lenguajes.

SublimeText, por si solo, no compila ningún código. En cambio utiliza las herramientas propias de cada computadora para enviar a compilar los códigos que está presentando.

Este tutorial permite compilar un programa Hola Mundo, en un ambiente virtual de Python.

Para este tutorial es necesario que tengas previamente:

  • Instalado Python en tu computadora
  • Configurados los Ambientes Virtuales de Python en tu computadora
  • Un ambiente virtual de Python ya creado
  • La dirección dónde se están almacenando tus ambientes virtuales

Abre Un Nuevo "Build System"

MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.002.jpeg
MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.003.jpeg

Un "Build System" permite ejecutar comandos antes de compilar nuestro código.

De esta forma podemos seleccionar el ambiente de compilación que queremos para nuestro código, sea C, C++, Java, Python, etc. incluyendo un ambiente virtual de python específico que ya tengamos configurado en la computadora.

Para crear un nuevo "Build System" es necesario abrir la pestaña de "Tools" en la barra de herramientas de SublimeText, luego desplegar el menu de "Build System" y finalmente dar click al final de las opciones la que dice "New Build System..."

En resumen:

  • Tools -> Build System -> New Build System...

Sustituye Los Comandos Que Vienen Por Default Por Estos:

MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.001.jpeg
  • Para ejecutar un ambiente virtual, lo que necesitamos es correr python desde el ambiente virtual que hemos configurado.

Por ejemplo en mi caso quiero correr un programa en python desde un ambiente virtual llamado "cv"

Entonces los comandos que debo ejecutar son:

{
	"cmd": ["/Users/TU_NOMBRE_DE_USUARIO/VIRTUAL_ENVIRONMENTS_ADDR/cv/bin/python", "$file"],
	"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
	"selector": "source.activate"
}<br>

Importante Reemplazar:

  • TU_NOMBRE_DE_USUARIO por el nombre de usuario propio que estás utilizando en tu computadora
  • VIRTUAL_ENVIRONMENTS_ADDR por el nombre de la carpeta donde tienes almacenados los "Virtual Environments de Python"
  • En mi caso la carpeta que almacena mis ambientes virtuales se llama ".virtualenvs"

Es por esto que mi código quedaría de la siguiente forma:

{
	"cmd": ["/Users/TU_NOMBRE_DE_USUARIO/.virtualenvs/cv/bin/python", "$file"],<br>	"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
	"selector": "source.activate"
}

Salvar El Build System Con Un Nombre Representativo

MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.001.jpeg
MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.002.jpeg

Una vez que está el código de configuración escrito correctamente, es importante salvar el documento con un nombre representativo, con el fin de encontrarlo fácilmente dentro de los "Build Systems" disponibles.

Para esto es recomendado colocar el lenguaje de programación primero, en este caso es Python.

Seguido de el ambiente virtual que se está corriendo, en mi caso cv

Y finalmente como opcional se puede colocar el Keyword virtualenv para recordar que es un ambiente virtual específico en el que se está corriendo.

Así quedó mi configuración:

  • Python + cv virtualenv

Finalmente Correr El Código

MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.001.jpeg
MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.002.jpeg
Portada-MGonzalez506-ioT506-Costa-Rica-ioT-Internet-of-Things-Costa-Rica-Internet-de-las-cosas-Sublimetext-Virtualenvironments-Python.001.jpeg

Finalmente se puede correr el programa utilizando el comando “CMD + B” o bien desde:

  • Tools -> Build System

Y se observa el resultado final.