Skip to content

Latest commit

 

History

History
250 lines (200 loc) · 11.1 KB

01.empezar.md

File metadata and controls

250 lines (200 loc) · 11.1 KB

Para empezar a trabajar

necesitas Python, claro. Python tiene dos versiones en desarrollo: la 2 y la 3. Aunque en un 90% el código que vamos a usar funcionará correctamente en las dos versiones, vamos a trabajar con la versión 3. Es muy posible que ya tengas instalado algún programa que necesite Python y por tanto se encuentre ya en tu sistema, al menos si se trata de Linux o MacOS. Escribe

python --version

en tu línea de órdenes para ver qué versión tienes instalada. Si tienes la versión 3, estás listo para hacer todos los ejercicios del resto del libro. Si no, continúa leyendo después del interludio siguiente donde te explicaremos cómo trabajar con la línea de órdenes de tu sistema operativo, algo que nos va a servir durante el resto del libro.

Trabajando con la línea de órdenes.

La mayoría de los desarrolladores usan ordenadores con el sistema operativo Linux o Macs para trabajar. Es posible que tú no lo uses, pero no tienes que preocuparte, porque puedes trabajar de la misma forma en Windows. En las últimas actualizaciones todavía es más fácil, pudiendo descargarte Ubuntu con su línea de órdenes desde la Windows Store, aunque pare esto tendrás que estar dentro de un programa que se denomina Windows Insider, por lo que posiblemente sea más fácil activar el subsistema Ubuntu como se indica en el primer enlace. Esta línea de órdenes de Linux presenta una serie de ventajas, como poder trabajar con temas que hacen de tu experiencia algo mucho más agradable, como esto:

zsh con oh-my-zsh

En cualquier caso, conviene que conozcas algunas cosas básicas del intérprete bash para ejecutar estos programas de una sola línea o simplemente para entrar en Python y empezar a teclear órdenes. Por ejemplo, estos trucos básicos

  • Te puedes mover por la línea de órdenes con las flechas, pero también de palabra en palabra con control →. Control-a te llevará al principio de la línea (a es el principio del alfabeto), control-e al final de la línea (end, en inglés).

  • Puedes borrar la línea entera con control-k. Para copiar y pegar en una consola en Linux usa mayúsculas-control-c y mayúsculas-control-v. Igual que en cualquier otro lado, sólo que con el mayúsculas por delante.

  • ↑ te permitirá acceder a las órdenes anteriores que has ejecutado y editarlas. También con control-r podrás comenzar a buscar por algunos caracteres que estén en la línea. Por ejemplo, ctrl-r + py te encontrará la última orden en la que se ha usado esa combinación de teclas.

Control-r py

  • Usa siempre el tabulador para completar. En la primera palabra de la orden te completará el nombre de la misma, en el resto te completará nombres de ficheros y demás. Si lo usas te ahorrarás teclear un montón. Dependiendo del intérprete que uses, te aparecerán diferentes opciones que podrás seleccionar con el cursor; en zsh por ejemplo te aparecen los ficheros de un directorio a los que se pueda aplicar la orden que ya se ha tecleado.

La línea de órdenes, que en realidad se denomina consola o terminal, que se usa en los Mac y Linux es la misma, y tiene una buena cantidad de funcionalidades que, si se conocen, te pueden ayudar a ser bastante productivo. Usa el buscador DuckDuckGo con su servicio de chuletas integrado para encontrarla. Las primeras órdenes, ls, rm, mkdir, cd van a ser las que vas a necesitar con seguridad. Mira la chuleta completa para ver una buena cantidad de órdenes interesantes, alguna de las cuales te puede sacar de un apuro en un momento determinado. Y una vez que la uses, está almacenada en tu historia y puedes volver a ella usando, como hemos visto antes, control-r.

Instalando Python

Instálatela de la forma habitual

sudo apt install python3 #Ubuntu
apk add python #Alpine Linux
brew  install python3 #OSX
choco install python &REM Windows

o

Install-Package python -Version 3.6.0 

si usas el Package Manager de NuGet para Windows o chocolatey, el otro gestor de paquetes para Windows. Ninguno de los dos vienen instalados en la versión básica de este sistema operativo, por lo que tendrás que instalártelos antes. Por supuesto, también puedes descargarte un instalador de Python para Windows de la web.

Usando pyenv

Si quieres trabajar con una versión diferente de la que viene con tu sistema operativo, no tienes permisos de administrador para trabajar con él, o simplemente para gestionar de forma ágil las versiones de Python que tienes, aconsejamos pyenv, una herramienta para seleccionar la versión de Python que tenemos. Usa esta línea desde Linux

curl -L https://git.io/install-pyenv | bash

Si eres usuario de Docker y no de Python, puedes usar también los contenedores oficiales para ejecutar lo que sea, inclusive la línea de órdenes que vamos a usar más adelante. Con Docker tendrás que definir un alias para python, porque la línea de órdenes va a ser un poco más compleja y larga.

Usando virtualenv

Si quieres trabajar en un entorno en el cual los paquetes que instales están aislados de los que están instalados por defecto, se puede utilizar lo que es conocido como virtualenv. Con virtualenv se puede tener entornos con módulos que solo están ligados a dicho entorno y no afectan al resto del sistema; la principal diferencia con pyenv es que en este los módulos se instalan para todos los programas del usuario. En producción será bastante más útil virtualenv y conviene conocerlo, pero para el resto de este libro es suficiente con las formas de instalación indicadas anteriormente.

Para instalar se utiliza el gestor de módulos en python conocido como pip:

$ pip install virtualenv

Con esto podemos tener entornos aislados, resolviendo problemas de dependencias, versiones, y permisos. Más información sobre virtualenv en su web.

Por favor, fíjate en que pip se ejecuta sin privilegios de superusuario. Hoy en día es fácil mantener diferentes versiones de Python, incluyendo la del sistema si es necesario, usando herramientas tales como pyenv o el propio virtualenv. En cualquier caso, tiene sentido que los módulos del desarrollador se mantengan en el directorio del desarrollador, por lo que es mejor no usar nunca pip con privilegios de superusuario, es decir, usando sudo.

Trabajando desde cualquier lugar

Si simplemente quieres ir probando cosas desde tu tablet o un ordenador accesible públicamente, puedes usar repl.it, un recurso en la web con REPLs (bucle lee, evalúa, imprime) para un montón de lenguajes, incluyendo Python 2 y 3 y muchos otros de los que es posible que usemos algún ejemplo en este libro.

Ejercicio: regístrate en repl.it usando tu cuenta de Google, Facebook o GitHub. Si no estás registrado en GitHub, quizás sea un buen momento para hacerlo.

Python, de hecho, está empotrado en muchas aplicaciones, como un lenguaje que sirve para escribir plugins o extensiones. Tal vez

Python está incluido en tus programas habituales.

En Gimp

En Gimp, por ejemplo, se puede usar para escribir extensiones que manipulan directamente la imagen, y además el propio programa incluye una consola de Python, aunque de la versión 2. LibreOffice también permite escribir programas con él si se instala la extensión correspondiente, y muchas aplicaciones de escritorio y juegos permiten hacerlo de diferente forma, pero siempre dejando acceso a una consola desde la que se pueden teclear órdenes en Python.

Si no tienes ninguna otra cosa, ni Internet, pero sí una copia de Gimp, ¡tienes Python! Si tienes de todo, tener Python empotrado en las aplicaciones te permite diferentes campos de juego y posibilidades creativas.

Trabajando con un editor

Aunque sea sólo por el hecho de poder llevar un pequeño diario de lo que has hecho, es conveniente que trabajes con Python desde un editor. La distribución de Python incluye un entorno de desarrollo llamado IDLE. Escribiendo idle en un terminal, o desde la selección de órdenes de tu sistema operativo, te aparecerá la ventana correspondiente, que se abre directamente en un terminal de Python donde se pueden ejecutar las órdenes o evaluar expresiones.

Usando IDLE, el entorno de trabajo de Python

La mayoría de los editores te permiten trabajar con el lenguaje que quieras en una de las ventanas mientras tienes el código en otra. Si usas emacs, el editor viene integrado. Si usas Atom, escribe

apm install Repl

para que te instale un REPL, o línea de órdenes, que se puede usar para diferentes lenguajes.

Línea de órdenes de Python en Atom

En cualquier caso conviene conocer y usar, dentro de lo posible, un editor para trabajar con cualquier lenguaje. Los editores como los mencionados tienen un modo específico para cada lenguaje, que depende de la extensión del mismo, que te permite desde completar código usando la sintaxis del lenguaje hasta presentarlo con colores de forma que la estructura del programa sea más fácil de entender. En algunos casos, como en el de Visual Studio Code (VSCode), el editor y entorno de programación libre de Microsoft, tendrás que instalar una extensión específica para poder trabajar con este entorno de línea de órdenes.

Código Python y REPL en VS Code

Hay varias extensiones de VSCode para Python; la más popular se llama simplemente Python. Con esta extensión se instalan una serie de órdenes para trabajar con Python, incluyendo un REPL: Usando mayúsculas-control-P para seleccionar las órdenes que se van a ejecutar y buscando "REPL" aparecerá Python: Start REPL que arrancará una ventana de órdenes tal como la que aparece más arriba en la imagen. Si usas otros editores, como Visual Studio, se le denomina "Ventana interactiva" y viene de serie con el mismo.

Concluyendo

Después de este capítulo deberías de tener instalado algún entorno con el que poder trabajar con Python, aparte de ser capaz de ejecutar python desde la línea de órdenes. Escoge el que más te guste, o instálatelos todos. Son software libre y es lo que tienen.