{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"AeroPython\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Bienvenido al curso de #AeroPython" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El objetivo de este curso es __iniciarte desde cero en la programación en Python y aprender distintas aplicaciones de este lenguaje en la ingeniería.__\n", "\n", "__Nuestra herramienta fundamental de trabajo es el Notebook de Jupyter__, podrás conocer más acerca de él en las siguientes clases. Durante el curso te familiarizarás con él y aprenderás a manejarlo (este documento ha sido generado a partir de un notebook).\n", "\n", "En esta sesión inicial, veremos los pasos a seguir para que __instales Python, descargues el material y puedas empezar a aprender a tu ritmo.__ \n", "\n", "Recuerda, que todo el material del curso se encuentra disponible en [nuestro repositorio](https://github.com/AeroPython/curso_caminos-2016).\n", "\n", "_¡¡Manos a la obra!!_\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pasos a seguir:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Descarga de Python." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La instalación de Python, el Notebook y todos los paquetes que utilizaremos, por separado puede ser una tarea ardua y agotadora, pero no te preocupes: ¡alguien ha hecho ya el trabajo duro!\n", "\n", "__[Anaconda](https://continuum.io/anaconda/) es una distribución de Python que recopila muchas de las bibliotecas necesarias en el ámbito de la computación científica__ y desde luego, todas las que necesitaremos en este curso. Además __incluye herramientas para programar en Python, como el [Notebook](https://ipython.org/index.html) y [Spyder](https://code.google.com/p/spyderlib/)__ (un IDE al estilo de MATLAB)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lo único que necesitas hacer es:\n", "\n", "* Ir a la [página de descargas de Anaconda](http://continuum.io/downloads).\n", "* Seleccionar tu sistema operativo (Windows, OSX, Linux).\n", "* Descargar Anaconda (utilizaremos Python 3.X)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Download\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. Instalación de Python." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consulta las __[instrucciones de instalación](http://docs.continuum.io/anaconda/install.html)__ de Anaconda para tu sistema operativo. En el caso de Windows y OS X, te encontrarás con los típicos instaladores gráficos a los que ya estás acostumbrado. Si te encuentras en Linux, deberás ejectuar el script de instalación desde la consola de comandos, así que recuerda comprobar que tienes bash instalado y asignar permisos de ejecución al script.\n", "\n", "En caso de que tengas cualquier caso de duda durante el proceso, recuerda que __¡los buscadores de internet son tus mejores amigos!__\n", "\n", "¡Muy bien! Ya tienes instalado ¿pero dónde?\n", "\n", "* En __Windows__, desde `Inicio > Anaconda` verás una serie de herramientas de las que ahora dispones ¡no tengas miedo de abrirlas! \n", "\n", "* En __OS X__, podrás acceder a un launcher con las mismas herramientas desde la carpeta `anaconda` dentro de tu carpeta personal. \n", "\n", "* En __Linux__, debido al gran número de combinaciones de distribuciones más escritorios no tendrás esos accesos directos gráficos (lo que no quiere decir que no puedas crearlos tú a posteriori) pero, como comprobarás, no hacen ninguna falta y no forman parte de nuestra forma de trabajar en el curso.\n", "\n", "Ahora, vamos a __actualizar Anaconda__ para asegurarnos de que tenemos nuestra distribución de Python con todos sus paquetes al día para lo que abrimos una __ventana de comandos__ (símbolo de sistema en Windows o terminal en OS X) y ejecutamos los siguientes comandos de actualización (confirmando en el caso de tener que instalar paquetes nuevos):\n", "\n", "```\n", "conda update anaconda\n", "conda update --all\n", "```\n", "\n", "Si experimentas cualquier clase de problema durante este proceso, [desinstala tu distribución de Anaconda](http://docs.continuum.io/anaconda/install.html) y vuelve a instalarla donde puedas asegurarte de tener una conexión a internet estable.\n", "\n", "Ya tenemos nuestra distribución de Python con todos los paquetes que necesitemos (y prácticamente todos los que en un futuro podamos necesitar). \n", "\n", "_¡A trabajar!_\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. Descarga del material del curso." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El material del curso está disponible en __GitHub, una plataforma para alojar proyectos de software que también proporciona una serie de herramientas para el trabajo en equipo__. Digamos que es una especie de red social-herramienta para escribir y compartir código. (No te preocupes, no necesitarás saber nada sobre ella para seguir el curso)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simplemente ve a nuestro [repositorio del curso en GitHub](https://github.com/AeroPython/curso_caminos-2016), y en la parte derecha encontrarás un botón __*Clone or download*__ como éste: ![](../images/download_zip.png) \n", "\n", "Púlsalo, selecciona __*Download Zip*__, __guarda el archivo__ en tu ordenador y __descomprímelo__. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4. Utilización del material del curso." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una vez que instalado Python y descargado el material del curso, para poder utilizarlo debes __abrir una línea de comandos en la carpeta que has descomprimido__.\n", "\n", "* En __Windows__, puedes hacer esto desde el explorador. Primero navega hasta la carpeta y luego usa `shift + clic-derecho` en un espacio vacío de la carpeta y pulsa sobre `Abrir ventana de comandos aquí`:\n", "\n", "![](../images/ventana_comandos_windows.png)\n", "\n", "* En __OS X__, puedes activar el menú [nuevo terminal en carpeta](http://appleadicto.com/mac/osx/ejecutar-el-terminal-de-os-x-desde-una-carpeta-del-finder/):\n", "![](../images/ventana_comandos_mac.png)\n", "\n", "* En __Linux__, la totalidad de escritorios disponibles tienen una opción para lanzar un terminal en una determinada carpeta (por ejemplo, el plugin `nautilus-open-terminal` en GNOME o pulsando `F4` dentro de Dolphin en KDE)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se abrirá una línea de comandos, teclea en ella:\n", "\n", "`jupyter notebook` \n", "\n", "y pulsa Intro.\n", "\n", "__¡Es importante que la dirección que aparezca en la línea de comandos sea la correspondiente a la carpeta del curso (e.g. \"curso_caminos-2016-master\"), o determinados elementos como las imágenes incrustadas no se visualizarán correctamente!__\n", "\n", "Aparecerán unas cuantas líneas y __se abrirá tu navegador web predefinido. __No hace falta disponer de conexión a Internet__. Lo que está ocurriendo es que *\"tu navegador está mostrando lo que le manda el programa que se está ejecutando desde la línea de comandos\"*__ (entiéndelo así ya tendrás tiempo de profundizar si quieres). __Así que no cierres la línea de comandos hasta que termines de usar el notebook y ya lo hayas guardado y cerrado en tu navegador.__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En esa ventana de tu navegador puedes moverte por las carpetas y ver los archivos con extensión `.ipynb`. __Ve a la carpeta `Notebooks` y abre la primera clase haciendo click sobre ella.__ Para cambiar el estilo (letra, colores...) ve a `File > Trust Notebook`.\n", "\n", "En esa primera clase se hace una pequeña introducción a Python. __Lee el principio con calma__ para saber cómo manejar el Notebook (también puedes usar la ayuda `Help > User Interface Tour` ) y __no tengas miedo de tocar y cambiar cosas a tu antojo__. No vas a romper tu ordenador y en una de malas, siempre puedes volverte a descargar todo de GitHub." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### ¡Ya estás listo para empezar!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "Clase en vídeo, parte del [Curso de Python para científicos e ingenieros](http://cacheme.org/curso-online-python-cientifico-ingenieros/) grabado en la Escuela Politécnica Superior de la Universidad de Alicante." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "\n", "YouTubeVideo(\"x4xegDME5C0\", width=560, height=315, list=\"PLGBbVX_WvN7as_DnOGcpkSsUyXB1G_wqb\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "#### ¡Síguenos en Twitter!\n", "\n", "Follow @AeroPython \n", "\n", "\n", "Este notebook ha sido realizado por: Juan Luis Cano, Alejandro Sáez y Mabel Delgado\n", "\n", "\n", "\"Licencia
Curso AeroPython por Juan Luis Cano Rodriguez y Alejandro Sáez Mollejo se distribuye bajo una Licencia Creative Commons Atribución 4.0 Internacional." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "_Las siguientes celdas contienen la configuración del Notebook_\n", "\n", "_Para aplicar el estilo y la configuración, el notebook debe ejecutarse como [seguro](http://ipython.org/ipython-doc/dev/notebook/security.html)_\n", "\n", " File > Trusted Notebook" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "/* This template is inspired in the one used by Lorena Barba\n", "in the numerical-mooc repository: https://github.com/numerical-mooc/numerical-mooc\n", "We thank her work and hope you also enjoy the look of the notobooks with this style */\n", "\n", "\n", "\n", "El estilo se ha aplicado =)\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# preserve\n", "# Esta celda da el estilo al notebook\n", "from IPython.core.display import HTML\n", "css_file = '../styles/aeropython.css'\n", "HTML(open(css_file, \"r\").read())" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.1" } }, "nbformat": 4, "nbformat_minor": 1 }