Skip to content
Patricio López Juri edited this page Aug 20, 2015 · 6 revisions

Por Jaime Castro Retamal (@jecastro1)

Basado en el tutorial para Mac OSX por Patricio López Juri (@mrpatiwi)

Ante cualquier problema consultar en el foro.

Advertencia

La guía está en versión beta. Ayudarías mucho descubriendo si hay errores.

Instrucciones generales

Una de las ventajas de una distribución de Linux versus OS X y Windows es que la mayoría del software se instala por defecto a través de Package Managers, que se preocupan de la instalación y actualización de los distintos programas del sistema desde los repositorios de cada distro.

Sin embargo, las instrucciones ofrecidas acá pueden diferir un poco pues cada distro es distinta. La guía está pensada para distribuciones Debian-Like (Debian, Ubuntu, Elementary OS, etc) y Arch-Like (Arch, Antergos, Manjaro, etc).

Para tener el software más actualizado se recomienda tener una de las últimas versiones del sistema operativo, por ejemplo para el caso de Ubuntu alguna versión de la 14.04 en adelante.

Software obligatorio

Git es un control de versiones para nuestros proyectos con código. Es muy probable que ya tengas Git instalado, en tal caso el Package Manager sólo intentará actualizar Git.

  • Si tienes una distribución Debian-Like:
sudo apt-get install git
  • Si tienes una distribución Arch-Like:
sudo pacman -S git

Configuración

Para evitar estar ingresando nuestos datos una y otra vez:

# Nos identificamos
git config --global user.name "NOMBRE APELLIDO"
git config --global user.email "correo@foo.com"

# Habilitamos los colores :)
git config --global color.ui auto

# Para evitar problemas de sincronización:
# Automaticamente, cada vez que intentemos subir algo,
# primero se asegurará de bajar lo que esté en la nube.
git config --global --bool pull.rebase true

Uso

A la acción de bajar un repositorio se le llama clone y la acción de actualizar se llama pull.

Introducción a Bash

Toda acción depende de donde estemos parados en la Terminal. Veamos los comandos más comunes para movernos por el computador a través de la terminal:

# Para mostrar donde estamos:
pwd

# Para ver el listado de carpetas y archivos:
ls

# Para entrar a una carpeta:
cd nombrecarpeta

# Si la carpeta tiene espacios ' ' en su nombre, se antepone un \ antes de cada uno.
# Por ejemplo, supongamos que queremos entrar a la carpeta 'mi carpeta'
cd mi\ carpeta

# Para retroceder
cd ..

Estos comandos son algunos de los que disponemos en Bash. Puedes encontrar más información para principiantes aquí.

Introducción a git

Ahora con git, para clonar el repositorio público del curso:

# Vamos al Escritorio. En algunas distros deberás cambiar 'Desktop' por 'Escritorio'.
cd ~/Desktop

# Clonamos el syllabus, se creará una carpeta con el nombre 'syllabus'
git clone https://github.com/IIC2233-2015-2/syllabus.git

# Vamos a la nueva carpeta
cd syllabus

# Abrimos el explorador de archivos. El '.' es para indicar que lo queremos abrir donde estamos parados.
xdg-open .

# Actualizamos el repo
git pull

Te recomendamos que hagas este tutorial de intrucción a git: Try Git.

Una vez listo, te recomendamos bajar esta hoja de referencia con los comandos típicos de git: Github Cheat Sheet

En el curso deberás utilizar Python 3.4.x. Es muy probable que también lo tengas instalado, pero siempre podemos volver a intentarlo sin nada que perder. Además, aprovecharemos de instalar el administrador de paquetes de Python:

  • Si tienes una distribución Debian-Like:
sudo apt-get install python3 python3-pip
  • Si tienes una distribución Arch-Like:
sudo pacman -S python python-pip

Atención usuarios de Ubuntu: Si eres usuario de Ubuntu ahora debes colocar

# Gracias a [@djpassi](https://github.com/djpassi)
sudo apt-get install libfreetype6-dev libxft-dev

Instalemos algunas librerías de Python por medio de pip, el administrador de paquetes de Python.

Instalemos algunas librerías que usaremos durante el curso:

# En orden para evitar problemas.
sudo pip3 install --upgrade simpy
sudo pip3 install --upgrade numpy
sudo pip3 install --upgrade matplotlib

PyQt 4

Bindings de Qt para interfaces gráficas multi-plataforma.

En algún momento durante el transcurso del semestre necesitaremos usar y desarrollar interfaces visuales. Para esto necesitamos PyQt.

  • Si tienes una distribución Debian-Like
sudo apt-get install python3-pyqt4
  • Si tienes una distribución Arch-Like
sudo pacman -S python-pyqt4

Para asegurarnos que se instaló bien ejecutamos este comando dentro de Python y no debería generar errores:

import PyQt4

Interfaces de Desarrollo

Te presentamos 3 IDEs recomendadas por los ayudantes y la comunidad en general. Incluso puedes instalarlas todas y ver cuál te gusta más.

Código abierto y mantenida por Github.

  • Si tienes una distribución Debian-Like debes seguir las instrucciones dadas en el repositorio oficial.

  • Si tienes una distribución Arch-Like:

yaourt -S atom-editor

Ahora tenemos los siguientes comandos:

  • atom: Abre el editor de texto.
    • Podemos usar atom . para abrirlo directamente en la carpeta donde estamos parados.
  • apm: Atom Package Manager, otro administrador de paquetes.

Instalaremos algunos plug-ins a través de apm en conjunto con pip para adaptarla al desarrollo en Python.

# Para avisarnos y corregirnos el código
sudo pip3 install --upgrade pylint pep8 flake8

# Lo integramos con Atom
sudo apm install linter linter-pylint linter-pep8 linter-flake8

# Para poder ejeutar código
sudo apm install script

# Para autocompletar mientras programamos
sudo apm install autocomplete-python

# Embellecedor de código cada vez que guardamos
sudo pip3 install --upgrade autopep8
sudo apm install atom-beautify

Puedes encontrar más plug-ins en: https://atom.io/packages

Uso

Lo principal es saber abrir la Paleta de Comandos con CTRL+SHIFT+P porque aquí podemos ejecutar casi todos los comandos disponibles buscándolos como texto.

Para ejecutar un archivo .py tienes que presionar CTRL+I.

Queda como tarea familiarizarse con la interfaz y con los atajos.

Es el más liviano, pero es pagado. Sin embargo, tiene un periodo de prueba infinito, pero que nos estará recordando cada cierta cantidad de uso que lo compremos.

  • Si tienes una distro Debian-Like de 64 bits:
wget http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3083_amd64.deb
sudo dpkg -i sublime-text_build-3083.deb
  • Si tienes una distro Debian-Like pero de 32 bits:
wget http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3083.deb
sudo dpkg -i sublime-text_build-3083.deb
  • Si tienes una distro Arch-Like
sudo yaourt -S sublime-text-dev

También instalaremos las siguientes librebrías para que nos ayudarán mantener un código bien formateado:

sudo pip install --upgrade pylint pep8 flake8

Package Control & Anaconda

Para adaptarlo al desarrollo en Python, debemos instalar el Package Control.

Abrimos Sublime Text 3, vamos a Vista -> Mostrar consola y pegamos y ejecutamos el código que aparece aquí: https://packagecontrol.io/installation#st3

Al igual que en Atom, lo principal es saber abrir la Paleta de Comandos con CTRL+SHIFT+P porque aquí podemos ejecutar casi todos los comandos disponibles buscandolos como texto.

Ahora para instalar paquetes, presionamos CTRL+SHIFT+P y escribimos: Install Package.

Instalamos los siguientes paquetes en orden:

  • Anaconda
  • SublimeLinter
  • SublimeLinter-pylint
  • SublimeLinter-pep8
  • SublimeLinter-flake8

Puedes encontrar más paquetes en https://packagecontrol.io/browse

Configuración

Vamos a Preferences -> Settings - User y añadimos lo siguiente:

"tab_size": 4,
"translate_tabs_to_spaces": true

Nos debería quedar algo así, más o menos:

{
    "color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
    "ignored_packages":
    [
        "Vintage"
    ],
    "tab_size": 4,
    "translate_tabs_to_spaces": true
}

Para poder ejecutar un archivo usando Python 3, tenemos que crear un sublime-build. Vamos a Tools -> Build System -> New Build System...

En el archivo que se abra escribimos:

{
    "cmd": ["python3", "-u", "$file"],
    "selector": "source.python",
    "file_regex": "file \"(...*?)\", line ([0-9]+)",
    "encoding": "utf8"
}

Y lo guardamos CTRL+S con el nombre Python3.sublime-build.

Uso

Para ejecutar un archivo .py, presionamos CTRL+B. Ojo que el archivo debe estar guardado para poder hacer esto, no puede ser "al aire".

Ahora, cuando quieras auto-formatear tu código para seguir el estandar PEP8, mientras estemos en un archivo .py, en la Paleta de Comandos ejecutamos la acción: Anaconda: Autoformat PEP8 Errors.

Queda como tarea familiarizarse con la interfaz y con los atajos.

Es el más completo. Tiene una versión gratis (Community) pero también puedes tener la versión completa (Pro) registrándote con tu Cuenta UC aquí.

Versión Community

  • Si tienes una distro Debian-Like
cd /tmp
curl -s -L http://download.jetbrains.com/python/pycharm-community-4.5.3.tar.gz | tar -xz
sudo mv pycharm-4.5.3 /opt/pycharm
/opt/pycharm/bin/pycharm.sh
  • Si tienes una distro Arch-Like
sudo yaourt -S pycharm-community

Versión Pro

  • Si tienes una distro Debian-Like
cd /tmp
curl -s -L http://download.jetbrains.com/python/pycharm-professional-4.5.3.tar.gz | tar -xz
sudo mv pycharm-4.5.3 /opt/pycharm
/opt/pycharm/bin/pycharm.sh
  • Si tienes una distro Arch-Like
sudo yaourt -S pycharm-professional

Configuración

Debemos asegurarnos que estamos usando Python 3 como interprete. Para esto abrimos el programa, vamos a Configuración y lo declaramos en:

  • Default Project -> Project Interpreter:
    • En la casilla de Python Interpreter nos aseguramos que sea Python 3.
    • En nuestro caso debería ser: /usr/bin/python3
  • Build, Execution, Deployment -> Console -> Python Console:
    • Exactamente lo mismo de recién.

Se recomienda habilitar la opción para mostrar los números de cada linea. Así es más fácil encontrar los errores al programar.

Esto se hace en Configuración, vamos a Editor -> General -> Appearence y seleccionamos Show line numbers.

Uso

Para ejecutar un archivo, hacemos Segundo click o Click derecho en uno, y presionamos Run.