entornos python

De Wikicima
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(Añadiendo qué python se utiliza)
 
(No se muestra una edición intermedia realizada por un usuario)
Línea 1: Línea 1:
  +
= Instalación de Python con Anaconda (por usuario) =
  +
La mejor opción hoy en día es usar "Anaconda", poniendo el script de instalación en el home del user que lo pide y que cada uno se lo instale
  +
  +
== Nueva forma ==
  +
Instalar sólo Anaconda3 e instalar lo que se quiera de Python2 con un nuevo "entorno"
  +
  +
=== Instalación ===
  +
  +
Descargar el script de instalación de Anaconda3 (python3)
  +
https://www.continuum.io/downloads
  +
  +
Ejemplo:
  +
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh
  +
  +
Se instala poniendo "bash Anaconda...". Ej:
  +
$ bash Anaconda3-4.3.1-Linux-x86_64.sh
  +
  +
Lo único que pide es "Aceptar los Terminos y Condiciones", indicar el directorio donde instalarlo (dentro de cada $HOME mejor) y, al final de todo, te dice si queres que te agregue una variable de entorno para apuntar el PATH a ese directorio. IMPORTANTE: El default es "no" pero recomiendo que pongas "yes" así se simplifica el uso
  +
  +
=== Agregar repo canal conda-forge ===
  +
Como la mayoría de los softs para ciencia necesitan este canal (repo), lo agregamos al entorno "Default"
  +
<pre>$ export http_proxy=http://proxy1.cima.fcen.uba.ar:3128
  +
$ conda config --add channels conda-forge</pre>
  +
  +
=== Instalar softs genericos en Anaconda===
  +
Todos en el CIMA usan NETCDF, por lo que es importante instalar el paquete "netcdf4". Tambien hace falta instalar "conda-build"
  +
$ conda install netcdf4
  +
$ conda install conda-build
  +
  +
=== COMANDOS UTILES (opcional) ===
  +
==== Crear entorno ====
  +
En caso que se requiera instalar un soft que use distintas versiones de librerias o usar Python2 se pueden crear entornos
  +
$ conda create -n ferret python=2.7
  +
$ conda create -n py2 python=2.7
  +
$ conda create -n rstudio
  +
  +
==== Activar el entorno que uno quiera ====
  +
$ source activate ferret
  +
  +
==== Verificar que esté correcto ====
  +
(ferret) soporte@vboxgev2:~$ which python
  +
/home/soporte/anaconda3/envs/ferret/bin/python
  +
  +
==== Instalar lo que uno necesite ====
  +
Se instalará todo dentro de este entorno
  +
(ferret) soporte@vboxgev2:~$ conda install ferret
  +
  +
===Limpiar la instalacion===
  +
Una vez finalizado con toda la instalación, hacer limpieza de los paquetes que no se necesitan
  +
$ conda clean -a
  +
  +
===Clonar instalación de anaconda con los paquetes y entornos creados===
  +
Una vez que finalizamos con ls instalación de todos los paquetes deseados bajo "anaconda" podemos proceder a instalar lo mismo para cada usuario
  +
====Listar los "entornos" existentes====
  +
$ conda env list
  +
<pre># conda environments:
  +
#
  +
ferret /home/soporte/anaconda3/envs/ferret
  +
rstudio /home/soporte/anaconda3/envs/rstudio
  +
cdo /home/soporte/anaconda3/envs/cdo
  +
root * /home/soporte/anaconda3</pre>
  +
  +
====Listar los canales====
  +
$ conda config --get channels
  +
<pre>--add channels 'defaults' # lowest priority
  +
--add channels 'conda-forge' # highest priority</pre>
  +
  +
====Hacer limpieza====
  +
Antes de exportar la lista, verificamos que no haya quedado nada instalado que no se necesite
  +
$ conda clean -a
  +
  +
====Guardar la lista de paquetes instalados para cada entorno====
  +
<pre>$ conda list --export > anaconda3_root_packages.txt
  +
$ conda env export -n rstudio > anaconda3_rstudio_packages_env.yml
  +
$ conda env export -n ferret > anaconda3_ferret_packages_env.yml
  +
$ conda env export -n cdo > anaconda3_cdo_packages_env.yml</pre>
  +
  +
====Instalar Anaconda en cada usuario====
  +
=====Copiar script de instalación y archivos con la lista de paquetes=====
  +
Poner el script de instalación de Anaconda y los archivos con la lista de paquetes en un directorio accesible por todos
  +
<pre>$ sudo mkdir -p /datos/python/bin
  +
$ sudo chmod 777 /datos/python /datos/python/bin
  +
$ sudo cp Anaconda3-*-Linux-x86_64.sh anaconda3_*_packages_env.yml anaconda3_root_packages.txt /datos/python
  +
$ sudo chmod 777 /datos/python/Anaconda3-*-Linux-x86_64.sh
  +
$ sudo chmod 666 /datos/python/anaconda3_*_packages_env.yml /datos/python/anaconda3_root_packages.txt</pre>
  +
  +
=====Copiar scripts personalizados=====
  +
$ cd ~/anaconda3/bin
  +
$ cp R rstudio ferret cdo /datos/python/bin
  +
  +
=====Tmux=====
  +
Como la instalación para cada usuario TARDA MUCHO, es recomendable usar "tmux" para evitar problemas en caso que se apague la PC o se corte el enlace. Además, podemos realizar varias instalaciones simultaneas con menos riesgo
  +
$ tmux
  +
  +
NOTA: Se puede poner el nombre del usuario a la sesión para no confundirse al abrir muchos tmux. Una vez dentro de tmux presionar
  +
CTRL+b $
  +
y nos permite editar el nombre de la sesión
  +
  +
=====Pasarse al usuario e instalar anaconda dentro del directorio "datos" =====
  +
Para no llenar el home, instalaremos Anaconda eligiendo como PATH el directorio "datos/anaconda3" de cada usuario
  +
<pre>$ sudo su - USUARIO
  +
$ bash /datos/python/Anaconda3-X.X.X-Linux-x86_64.sh</pre>
  +
Ej:
  +
$bash /datos/python/Anaconda3-4.4.0-Linux-x86_64.sh
  +
Como PATH elegimos
  +
/home/USUARIO/datos/anaconda3
  +
  +
O en su defecto según el link simbólico creado
  +
  +
Ej:
  +
/home/usuario/datosskogul/anaconda3
  +
  +
=====Salir de la sesión del usuario y volver a conectarse=====
  +
Una vez que termina de instalarse anaconda, salimos de la sesión del usuario (pero NO de tmux) y volvemos a conectarnos para que levante las variables de entorno correctas
  +
$ exit
  +
$ sudo su - USUARIO
  +
  +
=====Instalar los canales=====
  +
$ conda config --add channels conda-forge
  +
  +
=====Instalar todos los paquetes desde los archivos de las listas=====
  +
<pre>$ conda install --file /datos/python/anaconda3_root_packages.txt
  +
$ conda env create -f=/datos/python/anaconda3_rstudio_packages_env.yml -n rstudio
  +
$ conda env create -f=/datos/python/anaconda3_ferret_packages_env.yml -n ferret
  +
$ conda env create -f=/datos/python/anaconda3_cdo_packages_env.yml -n cdo</pre>
  +
NOTA: TARDA MUUUCHO, ¡PACIENCIA!
  +
  +
=====Copiar los scripts personalizados en el usuario=====
  +
<pre>$ cd ~/datos/anaconda3/bin
  +
$ cp /datos/python/bin/* .
  +
$ chmod u+x R rstudio ferret cdo</pre>
  +
  +
=====Probar todo y borrar los scripts y archivos de lista=====
  +
Una vez que hayamos finalizado de instalar TODO para todos los usuarios, borrar el directorio "/datos/python"
  +
<pre>$ cd /datos
  +
$ sudo rm -fr python</pre>
  +
  +
== Forma Vieja ==
  +
  +
=== Instalación ===
  +
  +
Descargar el script de instalación de Anaconda de la versión de Python que se quiera (Python 2 o Python 3)
  +
https://www.continuum.io/downloads
  +
  +
Ejemplo:
  +
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh
  +
$ wget https://repo.continuum.io/archive/Anaconda2-4.3.1-Linux-x86_64.sh
  +
  +
  +
Se instalan poniendo "bash Anaconda...". Ej:
  +
$ bash Anaconda2-4.3.1-Linux-x86_64.sh
  +
  +
Lo único que pide es "Aceptar los Terminos y Condiciones", indicar el directorio donde instalarlo (dentro de cada $HOME mejor) y, al final de todo, te dice si queres que te agregue una variable de entorno para apuntar el PATH a ese directorio. IMPORTANTE: El default es "no" pero recomiendo que pongas "yes" así se simplifica el uso
  +
  +
=== Utilización ===
  +
Una vez que está instalado, podes manejar los paquetes que necesites con el comando "conda" ("conda search NOMBRE", "conda install NOMBRE-PAQUETE", etc).
  +
  +
En caso que un paquete no lo tengan en "conda", podes buscarlo e instalarlo con "pip". Igualmente siempre conviene primero intentar con "conda"
  +
  +
  +
=== Overview ===
  +
INFO: Anaconda es un "manejador de paquetes", pensado para facilitar la instalación y orientado a Data Science. Tiene sus propios paquetes, y no entra en conflicto con el SO ya que instala todo dentro del directorio de Anaconda
  +
  +
  +
Para más información:
  +
  +
https://www.continuum.io/anaconda-overview
  +
  +
  +
=== Mail de aviso de instalación ===
  +
  +
OJO: Modificar hosts y versiones en forma acorde
  +
  +
Para que puedas trabajar tranquilo con Python (idea que apoyo totalmente) y puedas instalar todo lo que necesites, te dejé el script de instalación de Anaconda en tu home.
  +
  +
  +
No se si conoces Anaconda pero es un "manejador de paquetes", pensado para facilitar la instalación y orientado a Data Science. Tiene sus propios paquetes, y no entra en conflicto con el SO ya que instala todo dentro del directorio de Anaconda
  +
  +
  +
En tu $HOME/python de pytheas (el cual se monta también en nautilus) dejé 2 scripts de instalación de Anaconda 4.1. Uno para Python 3.5 (Anaconda3-4.1.1-Linux-x86_64.sh) y otro para Python 2.7 (Anaconda2-4.1.1-Linux-x86_64.sh). Se instalan poniendo "bash Anaconda..."
  +
  +
En tu caso sería:
  +
$ bash Anaconda3-4.3.1-Linux-x86_64.sh
  +
  +
Lo único que te pide es aceptar los terminos y condiciones, indicar el directorio donde instalarlo (dentro de tu $HOME mejor) y, al final de todo, te dice si queres que te agregue una variable de entorno para apuntar el PATH a ese directorio. IMPORTANTE: El default es "no" pero recomiendo que pongas "yes" así se simplifica el uso
  +
  +
  +
Una vez que está instalado, podes manejar los paquetes que necesites con el comando "conda" ("conda search NOMBRE", "conda install NOMBRE-PAQUETE", etc).
  +
  +
En caso que un paquete no lo tengan en "conda", podes buscarlo e instalarlo con "pip". Igualmente siempre conviene primero intentar con "conda"
  +
  +
  +
  +
Para más información:
  +
  +
https://www.continuum.io/anaconda-overview
  +
  +
  +
  +
Si tenes alguna duda, avisanos.
  +
  +
= Virtual env =
 
The generation of environments facilitate the specific requiremnts of each user for each purpose.
 
The generation of environments facilitate the specific requiremnts of each user for each purpose.
   
Línea 89: Línea 291:
 
No matching distribution found for basemap
 
No matching distribution found for basemap
 
</pre>
 
</pre>
* Thus, we will need to manually install `matplotlib' and `basemap' (following [https://matplotlib.org/basemap/users/installing.html Matplolib installation]. Unpacking the different packages...
+
* Installing directly from matpotlib
  +
<pre>
  +
(py27env) $ pip install https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz
  +
</pre>
  +
* Or we will need to manually install `matplotlib' and `basemap' (following [https://matplotlib.org/basemap/users/installing.html Matplolib installation]. Unpacking the different packages...
 
<pre>
 
<pre>
 
(py27env) $ mkdir $HOME/Downloads
 
(py27env) $ mkdir $HOME/Downloads

Última revisión de 16:55 23 jun 2021

Contenido

[editar] Instalación de Python con Anaconda (por usuario)

La mejor opción hoy en día es usar "Anaconda", poniendo el script de instalación en el home del user que lo pide y que cada uno se lo instale

[editar] Nueva forma

Instalar sólo Anaconda3 e instalar lo que se quiera de Python2 con un nuevo "entorno"

[editar] Instalación

Descargar el script de instalación de Anaconda3 (python3)

https://www.continuum.io/downloads

Ejemplo:

$ wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh

Se instala poniendo "bash Anaconda...". Ej:

$ bash Anaconda3-4.3.1-Linux-x86_64.sh

Lo único que pide es "Aceptar los Terminos y Condiciones", indicar el directorio donde instalarlo (dentro de cada $HOME mejor) y, al final de todo, te dice si queres que te agregue una variable de entorno para apuntar el PATH a ese directorio. IMPORTANTE: El default es "no" pero recomiendo que pongas "yes" así se simplifica el uso

[editar] Agregar repo canal conda-forge

Como la mayoría de los softs para ciencia necesitan este canal (repo), lo agregamos al entorno "Default"

$ export http_proxy=http://proxy1.cima.fcen.uba.ar:3128
$ conda config --add channels conda-forge

[editar] Instalar softs genericos en Anaconda

Todos en el CIMA usan NETCDF, por lo que es importante instalar el paquete "netcdf4". Tambien hace falta instalar "conda-build"

$ conda install netcdf4
$ conda install conda-build

[editar] COMANDOS UTILES (opcional)

[editar] Crear entorno

En caso que se requiera instalar un soft que use distintas versiones de librerias o usar Python2 se pueden crear entornos

$ conda create -n ferret python=2.7
$ conda create -n py2 python=2.7
$ conda create -n rstudio

[editar] Activar el entorno que uno quiera

$ source activate ferret

[editar] Verificar que esté correcto

(ferret) soporte@vboxgev2:~$ which python
/home/soporte/anaconda3/envs/ferret/bin/python

[editar] Instalar lo que uno necesite

Se instalará todo dentro de este entorno

(ferret) soporte@vboxgev2:~$ conda install ferret

[editar] Limpiar la instalacion

Una vez finalizado con toda la instalación, hacer limpieza de los paquetes que no se necesitan

$ conda clean -a

[editar] Clonar instalación de anaconda con los paquetes y entornos creados

Una vez que finalizamos con ls instalación de todos los paquetes deseados bajo "anaconda" podemos proceder a instalar lo mismo para cada usuario

[editar] Listar los "entornos" existentes

$ conda env list
# conda environments:
#
ferret                   /home/soporte/anaconda3/envs/ferret
rstudio                  /home/soporte/anaconda3/envs/rstudio
cdo                      /home/soporte/anaconda3/envs/cdo
root                  *  /home/soporte/anaconda3

[editar] Listar los canales

$ conda config --get channels
--add channels 'defaults'   # lowest priority
--add channels 'conda-forge'   # highest priority

[editar] Hacer limpieza

Antes de exportar la lista, verificamos que no haya quedado nada instalado que no se necesite

$ conda clean -a

[editar] Guardar la lista de paquetes instalados para cada entorno

$ conda list --export > anaconda3_root_packages.txt
$ conda env export -n rstudio > anaconda3_rstudio_packages_env.yml
$ conda env export -n ferret > anaconda3_ferret_packages_env.yml
$ conda env export -n cdo > anaconda3_cdo_packages_env.yml

[editar] Instalar Anaconda en cada usuario

[editar] Copiar script de instalación y archivos con la lista de paquetes

Poner el script de instalación de Anaconda y los archivos con la lista de paquetes en un directorio accesible por todos

$ sudo mkdir -p /datos/python/bin
$ sudo chmod 777 /datos/python /datos/python/bin
$ sudo cp Anaconda3-*-Linux-x86_64.sh anaconda3_*_packages_env.yml anaconda3_root_packages.txt /datos/python
$ sudo chmod 777 /datos/python/Anaconda3-*-Linux-x86_64.sh
$ sudo chmod 666 /datos/python/anaconda3_*_packages_env.yml /datos/python/anaconda3_root_packages.txt
[editar] Copiar scripts personalizados
$ cd ~/anaconda3/bin
$ cp R rstudio ferret cdo /datos/python/bin
[editar] Tmux

Como la instalación para cada usuario TARDA MUCHO, es recomendable usar "tmux" para evitar problemas en caso que se apague la PC o se corte el enlace. Además, podemos realizar varias instalaciones simultaneas con menos riesgo

$ tmux

NOTA: Se puede poner el nombre del usuario a la sesión para no confundirse al abrir muchos tmux. Una vez dentro de tmux presionar

CTRL+b $

y nos permite editar el nombre de la sesión

[editar] Pasarse al usuario e instalar anaconda dentro del directorio "datos"

Para no llenar el home, instalaremos Anaconda eligiendo como PATH el directorio "datos/anaconda3" de cada usuario

$ sudo su - USUARIO
$ bash /datos/python/Anaconda3-X.X.X-Linux-x86_64.sh

Ej:

$bash /datos/python/Anaconda3-4.4.0-Linux-x86_64.sh

Como PATH elegimos

/home/USUARIO/datos/anaconda3

O en su defecto según el link simbólico creado

Ej:

/home/usuario/datosskogul/anaconda3
[editar] Salir de la sesión del usuario y volver a conectarse

Una vez que termina de instalarse anaconda, salimos de la sesión del usuario (pero NO de tmux) y volvemos a conectarnos para que levante las variables de entorno correctas

$ exit
$ sudo su - USUARIO
[editar] Instalar los canales
$ conda config --add channels conda-forge
[editar] Instalar todos los paquetes desde los archivos de las listas
$ conda install --file /datos/python/anaconda3_root_packages.txt
$ conda env create -f=/datos/python/anaconda3_rstudio_packages_env.yml -n rstudio
$ conda env create -f=/datos/python/anaconda3_ferret_packages_env.yml -n ferret
$ conda env create -f=/datos/python/anaconda3_cdo_packages_env.yml -n cdo

NOTA: TARDA MUUUCHO, ¡PACIENCIA!

[editar] Copiar los scripts personalizados en el usuario
$ cd ~/datos/anaconda3/bin
$ cp /datos/python/bin/* .
$ chmod u+x R rstudio ferret cdo
[editar] Probar todo y borrar los scripts y archivos de lista

Una vez que hayamos finalizado de instalar TODO para todos los usuarios, borrar el directorio "/datos/python"

$ cd /datos
$ sudo rm -fr python

[editar] Forma Vieja

[editar] Instalación

Descargar el script de instalación de Anaconda de la versión de Python que se quiera (Python 2 o Python 3)

https://www.continuum.io/downloads

Ejemplo:

$ wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh
$ wget https://repo.continuum.io/archive/Anaconda2-4.3.1-Linux-x86_64.sh


Se instalan poniendo "bash Anaconda...". Ej:

$ bash Anaconda2-4.3.1-Linux-x86_64.sh

Lo único que pide es "Aceptar los Terminos y Condiciones", indicar el directorio donde instalarlo (dentro de cada $HOME mejor) y, al final de todo, te dice si queres que te agregue una variable de entorno para apuntar el PATH a ese directorio. IMPORTANTE: El default es "no" pero recomiendo que pongas "yes" así se simplifica el uso

[editar] Utilización

Una vez que está instalado, podes manejar los paquetes que necesites con el comando "conda" ("conda search NOMBRE", "conda install NOMBRE-PAQUETE", etc).

En caso que un paquete no lo tengan en "conda", podes buscarlo e instalarlo con "pip". Igualmente siempre conviene primero intentar con "conda"


[editar] Overview

INFO: Anaconda es un "manejador de paquetes", pensado para facilitar la instalación y orientado a Data Science. Tiene sus propios paquetes, y no entra en conflicto con el SO ya que instala todo dentro del directorio de Anaconda


Para más información:

https://www.continuum.io/anaconda-overview


[editar] Mail de aviso de instalación

OJO: Modificar hosts y versiones en forma acorde

Para que puedas trabajar tranquilo con Python (idea que apoyo totalmente) y puedas instalar todo lo que necesites, te dejé el script de instalación de Anaconda en tu home.


No se si conoces Anaconda pero es un "manejador de paquetes", pensado para facilitar la instalación y orientado a Data Science. Tiene sus propios paquetes, y no entra en conflicto con el SO ya que instala todo dentro del directorio de Anaconda


En tu $HOME/python de pytheas (el cual se monta también en nautilus) dejé 2 scripts de instalación de Anaconda 4.1. Uno para Python 3.5 (Anaconda3-4.1.1-Linux-x86_64.sh) y otro para Python 2.7 (Anaconda2-4.1.1-Linux-x86_64.sh). Se instalan poniendo "bash Anaconda..."

En tu caso sería:

$ bash Anaconda3-4.3.1-Linux-x86_64.sh

Lo único que te pide es aceptar los terminos y condiciones, indicar el directorio donde instalarlo (dentro de tu $HOME mejor) y, al final de todo, te dice si queres que te agregue una variable de entorno para apuntar el PATH a ese directorio. IMPORTANTE: El default es "no" pero recomiendo que pongas "yes" así se simplifica el uso


Una vez que está instalado, podes manejar los paquetes que necesites con el comando "conda" ("conda search NOMBRE", "conda install NOMBRE-PAQUETE", etc).

En caso que un paquete no lo tengan en "conda", podes buscarlo e instalarlo con "pip". Igualmente siempre conviene primero intentar con "conda"


Para más información:

https://www.continuum.io/anaconda-overview


Si tenes alguna duda, avisanos.

[editar] Virtual env

The generation of environments facilitate the specific requiremnts of each user for each purpose.

Following instructions from python environments

  1. Creation of the place where the environment will reside
$ mkdir -p ${HOME}/bin/py27env
$ cd ${HOME}/bin/py27env
  1. Install virtualenv
$ pip install virtualenv
  1. Test installation
$ virtualenv --version
  1. Create a virtual environment (e.g `py27env' to be used with python 2.7):
$ virtualenv -p /usr/bin/python2.7 ./
  1. Activate the environment
$ source ${HOME}/bin/py27env/bin/activate
(py27env) $
  1. Installing packages
(py27env) $ pip install numpy
Collecting numpy
  Using cached numpy-1.13.3-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.13.3
  1. To know which packages are installed
(py27env) $ pip freeze
numpy==1.13.3
  1. With the activation of the environment, one directly uses the python from it
(py27env) $ which python
/home/lluis.fita/bin/py27env/bin/python
  1. Deactivating environment
(py27env) $ deactivate
$ 

[editar] Matplotlib

There are certain installation problems referred to the `mpl_toolkit'

  1. On a given instaltion:
(py27env) $ pip freeze
backports.functools-lru-cache==1.4
cycler==0.10.0
ecmwf-api-client==1.5.0
matplotlib==2.1.0
netCDF4==1.3.1
numpy==1.13.3
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.3
scipy==1.0.0
six==1.11.0
subprocess32==3.2.7
  • There is not `basemap'
from mpl_toolkits.basemap import Basemap
ImportError: No module named basemap
  • but it is not found in the pip
(py27env) $ pip install basemap
Collecting basemap
  Could not find a version that satisfies the requirement basemap (from versions: )
No matching distribution found for basemap
  • Installing directly from matpotlib
(py27env) $ pip install https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz
  • Or we will need to manually install `matplotlib' and `basemap' (following Matplolib installation. Unpacking the different packages...
(py27env) $ mkdir $HOME/Downloads
(py27env) $ cd Downloads/
Herramientas personales