.. |br| raw:: html
Instalar IRAF y PyRAF en portátil personal con Ubuntu 22.04 =========================================================== Aquí van unas relativamente sencillas instrucciones para instalar IRAF y PyRAF en un portátil o desktop personal con Ubuntu 22.04. Ver aquí para Ubuntu 24.04 Recomendamos seguir estas instrucciones, en lugar de instalar IRAF y PyRAF desde los repositorios de Ubuntu o usando AstroConda, ya que con esta instalación obtendremos exactamente los mismos IRAF y PyRAF que están instalados en todas las máquinas del CCA, con todos los paquetes necesarios para las asignaturas TOB y TdE. .. warning:: Nota: IRAF y PyRAF ya están instalados en todas las máquinas del CCA; estas instrucciones son para quienes quieran instalarlos en un portátil personal. Instalación de IRAF ------------------- Bajarse el siguiente fichero, que vale también para versiones más recientes de Ubuntu. Es casi 1 GB, la descarga puede tardar un ratillo. .. sourcecode:: bash wget -cNS ftp://siesoft:siesoft@ftp.iac.es/iraf-2.16.1_Ubu1804.run Si por alguna razón el comando de arriba no funcionara, se puede intentar descargar el mismo fichero de esta `carpeta en el cloud del IAC `__ Ejecutarlo: .. sourcecode:: bash sudo sh iraf-2.16.1_Ubu1804.run Instalar varias dependencias de compatibilidad con 32bit (en Ubuntu 22.04): .. sourcecode:: bash sudo dpkg --add-architecture i386 sudo apt update sudo apt install lib32gcc-12-dev lib32gcc-11-dev lib32ncurses-dev libtinfo5 \ libtinfo5:i386 libxmu6:i386 libxtst6:i386 libncurses5 libncurses5:i386 Para versiones anteriores de Ubuntu, probar con: .. sourcecode:: bash sudo apt install lib32gcc-8-dev lib32gcc-7-dev lib32ncurses-dev libxmu6:i386 \ libxtst6:i386 libncurses5 libncurses5:i386 Instalar otras dependencias necesarias: .. sourcecode:: bash sudo apt install tcsh x11proto-dev git libx11-dev tcl-dev tk8.6-dev En el fichero *.bashrc* (en el home) poner las siguientes instrucciones (al final del fichero): .. sourcecode:: bash export iraf="/opt/iraf/iraf-2.16.1/" export IRAFARCH="linux64" Instalación de PyRAF -------------------- Recomendamos que PyRAF se instale en un entorno virtual de Python, ya que una instalación realizada a nivel local (usando el flag *--user*) puede sufrir inconsistencias o conflictos con paquetes de Python instalados por el propio Ubuntu, y producir errores en la importación o ejecución de algún paquete. En este entorno virtual se pueden además instalar otros paquetes de Python de uso más general como por ejemplo Astropy, Spyder, Jupyter Notebook, etc. Sin embargo, paquetes para machine learning, como por ejemplo Tensorflow o PyTorch, necesitan cada uno un propio entorno virtual distinto e independiente. Primero instalamos los paquetes básicos de python para crear entornos virtuales, y los paquetes de la librería gráfica Qt: .. sourcecode:: bash sudo apt install python3 python3-dev python3-pip python3-venv \ python3-wheel python3-tk libpython3-dev sudo apt install libnss3 libqt5core5a libqt5webenginecore5 \ libqt5script5 libqt5serialbus5-dev libqt5webkit5-dev Luego podemos proceder de la siguiente manera: .. sourcecode:: bash mkdir ${HOME}/py310_virtualenvs cd ${HOME}/py310_virtualenvs/ /usr/bin/python3.10 -m venv pyraf Esto nos crea el entorno virtual 'pyraf'. Ahora tenemos que activarlo e ir instalando los paquetes que necesitemos .. sourcecode:: bash source ${HOME}/py310_virtualenvs/pyraf/bin/activate python3 -m pip install --upgrade pip setuptools python3 -m pip install wheel python3 -m pip install numpy==1.26.4 python3 -m pip install tk scipy matplotlib astropy # y demás paquetes que querramos instalar Es importante que numpy no sea la versión 2.0 o superior, porque parece dar errores con ciertas tareas de PyRAF. Instalamos ahora los paquetes específicos para PyRAF: .. sourcecode:: bash python3 -m pip install pmw python3 -m pip install d2to1 python3 -m pip install stsci.tools python3 -m pip install pyraf Instalar el DS9 (visor de imágenes): .. sourcecode:: bash sudo apt install saods9 Configuración de IRAF/PyRAF --------------------------- Antes de usar PyRAF, tenemos que crear el fichero de arranque *login.cl*, que debe estar obligatoriamente en el subdirectorio *iraf* en nuestro home: .. sourcecode:: bash # creamos el directorio iraf en el home – ~/ corresponde a nuestro home) mkdir ~/iraf # vamos a ese directorio cd ~/iraf mkiraf # contestamos xgterm a la pregunta sobre el tipo de terminal. Con estos comandos se ha creado el fichero *login.cl* que contiene las definiciones y las instrucciones necesarias para que IRAF y PyRAF arranquen correctamente. Finalmente, para comprobar la instalación de PyRAF (con el entorno activado), lanzamos primero python3, probamos a importar iraf, y ejecutamos un simple comando: .. sourcecode:: python from pyraf import iraf iraf.imstatistics("dev$pix") iraf.implot("dev$pix") # para probar la gráfica. # Para salir, ir a la ventana gráfica y pulsar 'q'. # (dev$pix es una imagen de test incluida en la distribución de IRAF). Usando PyRAF ------------ En general, para usar PyRAF, necesitamos primero activar el entorno virtual correspondiente con el comando: .. sourcecode:: bash source ${HOME}/py310_virtualenvs/pyraf/bin/activate Se puede crear un alias con esta línea que pondremos en el fichero *.bashrc*: .. sourcecode:: bash alias actpyraf="source ${HOME}/py310_virtualenvs/pyraf/bin/activate" (*actpyraf* es un nombre mnemónico para 'activate pyraf', se puede obviamente cambiar por otro que nos guste más). Cuando hayamos terminado de usar PyRAF, conviene desactivarlo con el comando: ``deactivate``. Spyder en Ubuntu 22.04 ---------------------- La versión de Spyder (la 4.2) que se instala como paquete de sistema, con ``sudo apt install spyder3 python3-spyder``, tiene un bug, y al lanzarlo da errores del tipo: |br| "scaled(self, QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation): argument 1 has unexpected type 'float'" La solución es instalarlo dentro del entorno virtual que acabamos de crear. Simplemente, tras activar el entorno virtual como explicado anteriormente, tecleamos: .. sourcecode:: bash python3 -m pip install spyder # (también se instalarán muchas dependencias) Luego para lanzar spyder usamos el comando: .. sourcecode:: bash spyder Puede que salgan varios mensajes de warning, pero en principio parece que no tienen importancia y spyder funciona correctamente.