diff --git a/README.md b/README.md
index d6e74c6..bfac7a5 100644
--- a/README.md
+++ b/README.md
@@ -1060,100 +1060,48 @@ No te olvides de compilar también el *Project Generator*.
## Python
-De partida tenemos instalado dos versiones: *python* y *python3*
+De partida tenemos instalado dos versiones: *python2* y *python3*
-``` {bash}
-python -V
-Python 2.7.12
-
-python3 -V
-Python 3.5.2
-```
-
-### Paquetes de desarrollo
-
-Para que no haya problemas a la hora de instalar paquetes en el futuro
-conviene que instalemos los paquetes de desarrollo:
-
- sudo apt install python-dev
- sudo apt install python3-dev
-
-### pip, virtualenv, virtualenvwrapper, virtualfish
+Parece que Linux Mint no viene con nigún python por defecto. Si
+invocamos el comando `python` el sistema nos indicará que no existe.
-Los he instalado a nivel de sistema.
+Para escoger un python por defecto tenemos dos paquetes que podemos
+instalar: `python-is-python2` y `python-is-python3`
-*pip* es un gestor de paquetes para **Python** que facilita la
-instalación de librerías y utilidades.
-
-Para poder usar los entornos virtuales instalaremos también
-*virtualenv*.
-
-Instalamos los dos desde aptitude:
+En principio yo no quería instalar ninguno para averigüar que paquetes
+no funcionaban, pero la instalación de VirtualBox hizo que se instalara
+automáticamente el paquete `python-is-python2`.
``` {bash}
-sudo apt install python-pip python-virtualenv virtualenv python3-pip
-```
-
-*virtualenv* es una herramienta imprescindible en Python, pero da un
-poco de trabajo, así que se han desarrollado algunos frontends para
-simplificar su uso, para *bash* y *zsh* usaremos *virtualenvwrapper*, y
-para *fish* el *virtualfish*. Como veremos son todos muy parecidos.
-
-Instalamos el virtualwrapper:
-
-``` {bash}
-sudo apt install virtualenvwrapper -y
-```
-
-Para usar *virtualenvwrapper* tenemos que hacer:
+python2 -V
+Python 2.7.18rc1
-``` {bash}
-source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
+python3 -V
+Python 3.8.2
```
-O añadir esa linea a nuestros ficheros *.bashrc* y/o *.zshrc*
-
-Definimos la variable de entorno *WORKON\_HOME* para que apunte al
-directorio por defecto, `~/.local/share/virtualenvs`. En ese directorio
-es donde se guardarán nuestros entornos virtuales.
-
-En el fichero `.profile` añadimos:
-
- # WORKON_HOME for virtualenvwrapper
- if [ -d "$HOME/.local/share/virtualenvs" ] ; then
- WORKON_HOME="$HOME/.local/share/virtualenvs"
- fi
-
-[Aquí](http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html)
-tenemos la referencia de comandos de *virtualenvwrapper*
-
-Por último, si queremos tener utilidades parecidas en nuestro *fish
-shell* instalamos *virtualfish*:
+### Paquetes de python instalados
-``` {bash}
-sudo pip install virtualfish
-```
-
-[Aquí](http://virtualfish.readthedocs.io/en/latest/index.html) tenemos
-la documentación de *virtualfish* y la descripción de todos los comandos
-y plugins disponibles.
+Son los que ya comentamos en la sección de instalación de zsh, como ya
+dijimos conviene que instalemos los paquetes de desarrollo:
-### pipenv
+ sudo apt install python2-dev
+ sudo apt install python-all-dev
+ sudo apt install python3-dev
+ sudo apt install python3-all-dev
+ sudo apt install virtualenv virtualenvwrapper python3-virtualenv
-No lo he instalado, pero en caso de instalación mejor lo instalamos a
-nivel de usuario con:
+Ademas añadimos las siguientes lineas al fichero `~/.profile`:
-``` {bash}
-pip install --user pipenv
+``` {bash{
+# WORKON_HOME for virtualenvwrapper
+if [ -d "$HOME/.virtualenvs" ] ; then
+WORKON_HOME="$HOME/.virtualenvs"
+fi
```
-### Instalación del Python 3.8 (última disponible)
-
-Ejecutamos:
-
-``` {bash}
-sudo apt install python3.8 python3.8-dev python3.8-venv
-```
+[Aquí](https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html)
+tenemos la referencia de comandos de *virtualenvwrapper*.
### Instalación de bpython y ptpython
@@ -1163,89 +1111,6 @@ sudo apt install python3.8 python3.8-dev python3.8-venv
[*ptpython*](https://github.com/prompt-toolkit/ptpython) instalado en un
virtualenv para probarlo
-### Emacs para programar python
-
-#### elpy: Emacs Python Development Enviroment
-
-Para instalar `elpy` necesitamos intalar previamente *venv* el nuevo
-gestor de *virtualenvs* en Python 3.:
-
- sudo apt install python3-venv
-
-En el fichero `~/.emacs` necesitamos activar el módulo *elpy*:
-
-``` {lisp}
-;;----------------------------------------------------------------------
-;; elpy
-(elpy-enable)
-```
-
-En cuanto activemos *elpy* tendremos autocompletado del código y errores
-sintácticos. Merece la pena leerse toda la
-[documentación](https://elpy.readthedocs.io/en/latest/)
-
-#### Flycheck
-
-Para tener análisis sintáctico en tiempo real mientras estamos
-programando:
-
-Añadimos a nuestro fichero `~/.emacs`:
-
- ;; Enable Flycheck
-
- (when (require 'flycheck nil t)
-
- (setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
-
- (add-hook 'elpy-mode-hook 'flycheck-mode))
-
-#### Formateado
-
-Usando *autopep8* o *black* tendremos autoformateado del código como
-paso previo a salvar el mismo en disco. (Yo aún no he probado *black*)
-
- # and autopep8 for automatic PEP8 formatting
- sudo apt install python-autopep8
- # and yapf for code formatting (innecesario)
- # sudo apt install yapf yapf3
-
-Y añadimos la sección siguiente a nuestro fichero `~/.emacs`
-
-``` {lisp}
-;; Enable autopep8
-
-(require 'py-autopep8)
-
-(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save)
-```
-
-#### jedi
-
-Jedi le da ciertos superpoderes al autocompletado visualizando la
-documentación de cada propuesta de autocompletado.
-
-Instalamos previamente:
-
-``` {bash}
-sudo apt install python-jedi python3-jedi
-# flake8 for code checks
-sudo apt install flake8 python-flake8 python3-flake8
-```
-
-Y añadimos la sección en el fichero `~/.emacs`:
-
-``` {lisp}
-;;----------------------------------------------------------------------
-;; elpy
-(elpy-enable)
-(setq elpy-rpc-backend "jedi")
-
-(add-hook 'python-mode-hook 'jedi:setup)
-(setq jedi:complete-on-dot t)
-```
-
-Desde *Emacs* ejecutamos: `alt-x jedi:install-server`
-
### Jupyter
Una instalación para pruebas.
diff --git a/out/LinuxMintUlyana.dw b/out/LinuxMintUlyana.dw
index f0875b4..2ae4ff3 100644
--- a/out/LinuxMintUlyana.dw
+++ b/out/LinuxMintUlyana.dw
@@ -922,165 +922,48 @@ No te olvides de compilar también el //Project Generator//.
===== Python =====
-De partida tenemos instalado dos versiones: //python// y //python3//
+De partida tenemos instalado dos versiones: //python2// y //python3//
-
-python -V
-Python 2.7.12
+Parece que Linux Mint no viene con nigún python por defecto. Si invocamos el comando ''%%python%%'' el sistema nos indicará que no existe.
-python3 -V
-Python 3.5.2
-
-==== Paquetes de desarrollo ====
+Para escoger un python por defecto tenemos dos paquetes que podemos instalar: ''%%python-is-python2%%'' y ''%%python-is-python3%%''
-Para que no haya problemas a la hora de instalar paquetes en el futuro conviene que instalemos los paquetes de desarrollo:
+En principio yo no quería instalar ninguno para averigüar que paquetes no funcionaban, pero la instalación de VirtualBox hizo que se instalara automáticamente el paquete ''%%python-is-python2%%''.
-sudo apt install python-dev
-sudo apt install python3-dev
-
-==== pip, virtualenv, virtualenvwrapper, virtualfish ====
-
-Los he instalado a nivel de sistema.
-
-//pip// es un gestor de paquetes para **Python** que facilita la instalación de librerías y utilidades.
-
-Para poder usar los entornos virtuales instalaremos también //virtualenv//.
-
-Instalamos los dos desde aptitude:
+python2 -V
+Python 2.7.18rc1
-
-sudo apt install python-pip python-virtualenv virtualenv python3-pip
+python3 -V
+Python 3.8.2
-//virtualenv// es una herramienta imprescindible en Python, pero da un poco de trabajo, así que se han desarrollado algunos frontends para simplificar su uso, para //bash// y //zsh// usaremos //virtualenvwrapper//, y para //fish// el //virtualfish//. Como veremos son todos muy parecidos.
+==== Paquetes de python instalados ====
-Instalamos el virtualwrapper:
-
-
-sudo apt install virtualenvwrapper -y
-
-Para usar //virtualenvwrapper// tenemos que hacer:
+Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo:
-source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
+sudo apt install python2-dev
+sudo apt install python-all-dev
+sudo apt install python3-dev
+sudo apt install python3-all-dev
+sudo apt install virtualenv virtualenvwrapper python3-virtualenv
-O añadir esa linea a nuestros ficheros //.bashrc// y/o //.zshrc//
-
-Definimos la variable de entorno //WORKON_HOME// para que apunte al directorio por defecto, ''%%~/.local/share/virtualenvs%%''. En ese directorio es donde se guardarán nuestros entornos virtuales.
-
-En el fichero ''%%.profile%%'' añadimos:
+Ademas añadimos las siguientes lineas al fichero ''%%~/.profile%%'':
# WORKON_HOME for virtualenvwrapper
-if [ -d "$HOME/.local/share/virtualenvs" ] ; then
- WORKON_HOME="$HOME/.local/share/virtualenvs"
+if [ -d "$HOME/.virtualenvs" ] ; then
+WORKON_HOME="$HOME/.virtualenvs"
fi
-[[http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html|Aquí]] tenemos la referencia de comandos de //virtualenvwrapper//
-
-Por último, si queremos tener utilidades parecidas en nuestro //fish shell// instalamos //virtualfish//:
-
-
-sudo pip install virtualfish
-
-[[http://virtualfish.readthedocs.io/en/latest/index.html|Aquí]] tenemos la documentación de //virtualfish// y la descripción de todos los comandos y plugins disponibles.
+[[https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html|Aquí]] tenemos la referencia de comandos de //virtualenvwrapper//.
-==== pipenv ====
-
-No lo he instalado, pero en caso de instalación mejor lo instalamos a nivel de usuario con:
-
-
-pip install --user pipenv
-
-==== Instalación del Python 3.8 (última disponible) ====
-
-Ejecutamos:
-
-
-sudo apt install python3.8 python3.8-dev python3.8-venv
-
==== Instalación de bpython y ptpython ====
[[https://bpython-interpreter.org/|//bpython//]] instalado desde repos ''%%sudo apt install bpython bpython3%%''
[[https://github.com/prompt-toolkit/ptpython|//ptpython//]] instalado en un virtualenv para probarlo
-==== Emacs para programar python ====
-
-=== elpy: Emacs Python Development Enviroment ===
-
-Para instalar ''%%elpy%%'' necesitamos intalar previamente //venv// el nuevo gestor de //virtualenvs// en Python 3.:
-
-
-sudo apt install python3-venv
-
-En el fichero ''%%~/.emacs%%'' necesitamos activar el módulo //elpy//:
-
-
-;;----------------------------------------------------------------------
-;; elpy
-(elpy-enable)
-
-En cuanto activemos //elpy// tendremos autocompletado del código y errores sintácticos. Merece la pena leerse toda la [[https://elpy.readthedocs.io/en/latest/|documentación]]
-
-=== Flycheck ===
-
-Para tener análisis sintáctico en tiempo real mientras estamos programando:
-
-Añadimos a nuestro fichero ''%%~/.emacs%%'':
-
-
-;; Enable Flycheck
-
-(when (require 'flycheck nil t)
-
- (setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
-
- (add-hook 'elpy-mode-hook 'flycheck-mode))
-
-=== Formateado ===
-
-Usando //autopep8// o //black// tendremos autoformateado del código como paso previo a salvar el mismo en disco. (Yo aún no he probado //black//)
-
-
-# and autopep8 for automatic PEP8 formatting
-sudo apt install python-autopep8
-# and yapf for code formatting (innecesario)
-# sudo apt install yapf yapf3
-
-Y añadimos la sección siguiente a nuestro fichero ''%%~/.emacs%%''
-
-
-;; Enable autopep8
-
-(require 'py-autopep8)
-
-(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save)
-
-=== jedi ===
-
-Jedi le da ciertos superpoderes al autocompletado visualizando la documentación de cada propuesta de autocompletado.
-
-Instalamos previamente:
-
-
-sudo apt install python-jedi python3-jedi
-# flake8 for code checks
-sudo apt install flake8 python-flake8 python3-flake8
-
-Y añadimos la sección en el fichero ''%%~/.emacs%%'':
-
-
-;;----------------------------------------------------------------------
-;; elpy
-(elpy-enable)
-(setq elpy-rpc-backend "jedi")
-
-(add-hook 'python-mode-hook 'jedi:setup)
-(setq jedi:complete-on-dot t)
-
-Desde //Emacs// ejecutamos: ''%%alt-x jedi:install-server%%''
-
==== Jupyter ====
Una instalación para pruebas.
diff --git a/out/LinuxMintUlyana.epub b/out/LinuxMintUlyana.epub
index faf7dac..0394cc5 100644
Binary files a/out/LinuxMintUlyana.epub and b/out/LinuxMintUlyana.epub differ
diff --git a/out/LinuxMintUlyana.mw b/out/LinuxMintUlyana.mw
index 89e1046..032db8e 100644
--- a/out/LinuxMintUlyana.mw
+++ b/out/LinuxMintUlyana.mw
@@ -796,133 +796,42 @@ No te olvides de compilar también el ''Project Generator''.
== Python ==
-De partida tenemos instalado dos versiones: ''python'' y ''python3''
+De partida tenemos instalado dos versiones: ''python2'' y ''python3''
-
python -V
-Python 2.7.12
+Parece que Linux Mint no viene con nigún python por defecto. Si invocamos el comando python
el sistema nos indicará que no existe.
-python3 -V
-Python 3.5.2
-=== Paquetes de desarrollo ===
-
-Para que no haya problemas a la hora de instalar paquetes en el futuro conviene que instalemos los paquetes de desarrollo:
-
-sudo apt install python-dev -sudo apt install python3-dev-=== pip, virtualenv, virtualenvwrapper, virtualfish === - -Los he instalado a nivel de sistema. - -''pip'' es un gestor de paquetes para '''Python''' que facilita la instalación de librerías y utilidades. +Para escoger un python por defecto tenemos dos paquetes que podemos instalar:
python-is-python2
y python-is-python3
-Para poder usar los entornos virtuales instalaremos también ''virtualenv''.
+En principio yo no quería instalar ninguno para averigüar que paquetes no funcionaban, pero la instalación de VirtualBox hizo que se instalara automáticamente el paquete python-is-python2
.
-Instalamos los dos desde aptitude:
+python2 -V +Python 2.7.18rc1 -+=== Paquetes de python instalados === -Definimos la variable de entorno ''WORKON_HOME'' para que apunte al directorio por defecto,sudo apt install python-pip python-virtualenv virtualenv python3-pip-''virtualenv'' es una herramienta imprescindible en Python, pero da un poco de trabajo, así que se han desarrollado algunos frontends para simplificar su uso, para ''bash'' y ''zsh'' usaremos ''virtualenvwrapper'', y para ''fish'' el ''virtualfish''. Como veremos son todos muy parecidos. - -Instalamos el virtualwrapper: - -sudo apt install virtualenvwrapper -y-Para usar ''virtualenvwrapper'' tenemos que hacer: - -source /usr/share/virtualenvwrapper/virtualenvwrapper.sh-O añadir esa linea a nuestros ficheros ''.bashrc'' y/o ''.zshrc'' +python3 -V +Python 3.8.2
~/.local/share/virtualenvs
. En ese directorio es donde se guardarán nuestros entornos virtuales.
+Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo:
-En el fichero .profile
añadimos:
+sudo apt install python2-dev +sudo apt install python-all-dev +sudo apt install python3-dev +sudo apt install python3-all-dev +sudo apt install virtualenv virtualenvwrapper python3-virtualenv+Ademas añadimos las siguientes lineas al fichero
~/.profile
:
-# WORKON_HOME for virtualenvwrapper -if [ -d "$HOME/.local/share/virtualenvs" ] ; then - WORKON_HOME="$HOME/.local/share/virtualenvs" +# WORKON_HOME for virtualenvwrapper +if [ -d "$HOME/.virtualenvs" ] ; then +WORKON_HOME="$HOME/.virtualenvs" fi-[http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html Aquí] tenemos la referencia de comandos de ''virtualenvwrapper'' - -Por último, si queremos tener utilidades parecidas en nuestro ''fish shell'' instalamos ''virtualfish'': - -sudo pip install virtualfish-[http://virtualfish.readthedocs.io/en/latest/index.html Aquí] tenemos la documentación de ''virtualfish'' y la descripción de todos los comandos y plugins disponibles. - -=== pipenv === - -No lo he instalado, pero en caso de instalación mejor lo instalamos a nivel de usuario con: +[https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html Aquí] tenemos la referencia de comandos de ''virtualenvwrapper''. -pip install --user pipenv-=== Instalación del Python 3.8 (última disponible) === - -Ejecutamos: - -sudo apt install python3.8 python3.8-dev python3.8-venv=== Instalación de bpython y ptpython === [https://bpython-interpreter.org/ ''bpython''] instalado desde repossudo apt install bpython bpython3
[https://github.com/prompt-toolkit/ptpython ''ptpython''] instalado en un virtualenv para probarlo -=== Emacs para programar python === - -==== elpy: Emacs Python Development Enviroment ==== - -Para instalarelpy
necesitamos intalar previamente ''venv'' el nuevo gestor de ''virtualenvs'' en Python 3.: - -sudo apt install python3-venv-En el fichero~/.emacs
necesitamos activar el módulo ''elpy'': - -;;---------------------------------------------------------------------- -;; elpy -(elpy-enable)-En cuanto activemos ''elpy'' tendremos autocompletado del código y errores sintácticos. Merece la pena leerse toda la [https://elpy.readthedocs.io/en/latest/ documentación] - -==== Flycheck ==== - -Para tener análisis sintáctico en tiempo real mientras estamos programando: - -Añadimos a nuestro fichero~/.emacs
: - -;; Enable Flycheck - -(when (require 'flycheck nil t) - - (setq elpy-modules (delq 'elpy-module-flymake elpy-modules)) - - (add-hook 'elpy-mode-hook 'flycheck-mode))-==== Formateado ==== - -Usando ''autopep8'' o ''black'' tendremos autoformateado del código como paso previo a salvar el mismo en disco. (Yo aún no he probado ''black'') - -# and autopep8 for automatic PEP8 formatting -sudo apt install python-autopep8 -# and yapf for code formatting (innecesario) -# sudo apt install yapf yapf3-Y añadimos la sección siguiente a nuestro fichero~/.emacs
- -;; Enable autopep8 - -(require 'py-autopep8) - -(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save)-==== jedi ==== - -Jedi le da ciertos superpoderes al autocompletado visualizando la documentación de cada propuesta de autocompletado. - -Instalamos previamente: - -sudo apt install python-jedi python3-jedi -# flake8 for code checks -sudo apt install flake8 python-flake8 python3-flake8-Y añadimos la sección en el fichero~/.emacs
: - -;;---------------------------------------------------------------------- -;; elpy -(elpy-enable) -(setq elpy-rpc-backend "jedi") - -(add-hook 'python-mode-hook 'jedi:setup) -(setq jedi:complete-on-dot t)-Desde ''Emacs'' ejecutamos:alt-x jedi:install-server
- === Jupyter === Una instalación para pruebas. diff --git a/out/LinuxMintUlyana.odt b/out/LinuxMintUlyana.odt index 77622a9..067350a 100644 Binary files a/out/LinuxMintUlyana.odt and b/out/LinuxMintUlyana.odt differ diff --git a/out/LinuxMintUlyana.pdf b/out/LinuxMintUlyana.pdf index bd60335..8e47991 100644 Binary files a/out/LinuxMintUlyana.pdf and b/out/LinuxMintUlyana.pdf differ diff --git a/out/LinuxMintUlyana.tex b/out/LinuxMintUlyana.tex index 12b3849..76421e2 100644 --- a/out/LinuxMintUlyana.tex +++ b/out/LinuxMintUlyana.tex @@ -1469,113 +1469,55 @@ No te olvides de compilar también el \emph{Project Generator}. \hypertarget{python}{% \subsection{Python}\label{python}} -De partida tenemos instalado dos versiones: \emph{python} y +De partida tenemos instalado dos versiones: \emph{python2} y \emph{python3} -\begin{verbatim} -python -V -Python 2.7.12 +Parece que Linux Mint no viene con nigún python por defecto. Si +invocamos el comando \texttt{python} el sistema nos indicará que no +existe. -python3 -V -Python 3.5.2 -\end{verbatim} +Para escoger un python por defecto tenemos dos paquetes que podemos +instalar: \texttt{python-is-python2} y \texttt{python-is-python3} -\hypertarget{paquetes-de-desarrollo}{% -\subsubsection{Paquetes de desarrollo}\label{paquetes-de-desarrollo}} - -Para que no haya problemas a la hora de instalar paquetes en el futuro -conviene que instalemos los paquetes de desarrollo: +En principio yo no quería instalar ninguno para averigüar que paquetes +no funcionaban, pero la instalación de VirtualBox hizo que se instalara +automáticamente el paquete \texttt{python-is-python2}. \begin{verbatim} -sudo apt install python-dev -sudo apt install python3-dev -\end{verbatim} - -\hypertarget{pip-virtualenv-virtualenvwrapper-virtualfish}{% -\subsubsection{pip, virtualenv, virtualenvwrapper, -virtualfish}\label{pip-virtualenv-virtualenvwrapper-virtualfish}} - -Los he instalado a nivel de sistema. - -\emph{pip} es un gestor de paquetes para \textbf{Python} que facilita la -instalación de librerías y utilidades. - -Para poder usar los entornos virtuales instalaremos también -\emph{virtualenv}. +python2 -V +Python 2.7.18rc1 -Instalamos los dos desde aptitude: - -\begin{verbatim} -sudo apt install python-pip python-virtualenv virtualenv python3-pip +python3 -V +Python 3.8.2 \end{verbatim} -\emph{virtualenv} es una herramienta imprescindible en Python, pero da -un poco de trabajo, así que se han desarrollado algunos frontends para -simplificar su uso, para \emph{bash} y \emph{zsh} usaremos -\emph{virtualenvwrapper}, y para \emph{fish} el \emph{virtualfish}. Como -veremos son todos muy parecidos. - -Instalamos el virtualwrapper: - -\begin{verbatim} -sudo apt install virtualenvwrapper -y -\end{verbatim} +\hypertarget{paquetes-de-python-instalados}{% +\subsubsection{Paquetes de python +instalados}\label{paquetes-de-python-instalados}} -Para usar \emph{virtualenvwrapper} tenemos que hacer: +Son los que ya comentamos en la sección de instalación de zsh, como ya +dijimos conviene que instalemos los paquetes de desarrollo: \begin{verbatim} -source /usr/share/virtualenvwrapper/virtualenvwrapper.sh +sudo apt install python2-dev +sudo apt install python-all-dev +sudo apt install python3-dev +sudo apt install python3-all-dev +sudo apt install virtualenv virtualenvwrapper python3-virtualenv \end{verbatim} -O añadir esa linea a nuestros ficheros \emph{.bashrc} y/o \emph{.zshrc} - -Definimos la variable de entorno \emph{WORKON\_HOME} para que apunte al -directorio por defecto, -\texttt{\textasciitilde{}/.local/share/virtualenvs}. En ese directorio -es donde se guardarán nuestros entornos virtuales. - -En el fichero \texttt{.profile} añadimos: +Ademas añadimos las siguientes lineas al fichero +\texttt{\textasciitilde{}/.profile}: \begin{verbatim} # WORKON_HOME for virtualenvwrapper -if [ -d "$HOME/.local/share/virtualenvs" ] ; then - WORKON_HOME="$HOME/.local/share/virtualenvs" +if [ -d "$HOME/.virtualenvs" ] ; then +WORKON_HOME="$HOME/.virtualenvs" fi \end{verbatim} -\href{http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html}{Aquí} -tenemos la referencia de comandos de \emph{virtualenvwrapper} - -Por último, si queremos tener utilidades parecidas en nuestro \emph{fish -shell} instalamos \emph{virtualfish}: - -\begin{verbatim} -sudo pip install virtualfish -\end{verbatim} - -\href{http://virtualfish.readthedocs.io/en/latest/index.html}{Aquí} -tenemos la documentación de \emph{virtualfish} y la descripción de todos -los comandos y plugins disponibles. - -\hypertarget{pipenv}{% -\subsubsection{pipenv}\label{pipenv}} - -No lo he instalado, pero en caso de instalación mejor lo instalamos a -nivel de usuario con: - -\begin{verbatim} -pip install --user pipenv -\end{verbatim} - -\hypertarget{instalaciuxf3n-del-python-3.8-uxfaltima-disponible}{% -\subsubsection{Instalación del Python 3.8 (última -disponible)}\label{instalaciuxf3n-del-python-3.8-uxfaltima-disponible}} - -Ejecutamos: - -\begin{verbatim} -sudo apt install python3.8 python3.8-dev python3.8-venv -\end{verbatim} +\href{https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html}{Aquí} +tenemos la referencia de comandos de \emph{virtualenvwrapper}. \hypertarget{instalaciuxf3n-de-bpython-y-ptpython}{% \subsubsection{Instalación de bpython y @@ -1587,105 +1529,6 @@ repos \texttt{sudo\ apt\ install\ bpython\ bpython3} \href{https://github.com/prompt-toolkit/ptpython}{\emph{ptpython}} instalado en un virtualenv para probarlo -\hypertarget{emacs-para-programar-python}{% -\subsubsection{Emacs para programar -python}\label{emacs-para-programar-python}} - -\hypertarget{elpy-emacs-python-development-enviroment}{% -\paragraph{elpy: Emacs Python Development -Enviroment}\label{elpy-emacs-python-development-enviroment}} - -Para instalar \texttt{elpy} necesitamos intalar previamente \emph{venv} -el nuevo gestor de \emph{virtualenvs} en Python 3.: - -\begin{verbatim} -sudo apt install python3-venv -\end{verbatim} - -En el fichero \texttt{\textasciitilde{}/.emacs} necesitamos activar el -módulo \emph{elpy}: - -\begin{verbatim} -;;---------------------------------------------------------------------- -;; elpy -(elpy-enable) -\end{verbatim} - -En cuanto activemos \emph{elpy} tendremos autocompletado del código y -errores sintácticos. Merece la pena leerse toda la -\href{https://elpy.readthedocs.io/en/latest/}{documentación} - -\hypertarget{flycheck}{% -\paragraph{Flycheck}\label{flycheck}} - -Para tener análisis sintáctico en tiempo real mientras estamos -programando: - -Añadimos a nuestro fichero \texttt{\textasciitilde{}/.emacs}: - -\begin{verbatim} -;; Enable Flycheck - -(when (require 'flycheck nil t) - - (setq elpy-modules (delq 'elpy-module-flymake elpy-modules)) - - (add-hook 'elpy-mode-hook 'flycheck-mode)) -\end{verbatim} - -\hypertarget{formateado}{% -\paragraph{Formateado}\label{formateado}} - -Usando \emph{autopep8} o \emph{black} tendremos autoformateado del -código como paso previo a salvar el mismo en disco. (Yo aún no he -probado \emph{black}) - -\begin{verbatim} -# and autopep8 for automatic PEP8 formatting -sudo apt install python-autopep8 -# and yapf for code formatting (innecesario) -# sudo apt install yapf yapf3 -\end{verbatim} - -Y añadimos la sección siguiente a nuestro fichero -\texttt{\textasciitilde{}/.emacs} - -\begin{verbatim} -;; Enable autopep8 - -(require 'py-autopep8) - -(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save) -\end{verbatim} - -\hypertarget{jedi}{% -\paragraph{jedi}\label{jedi}} - -Jedi le da ciertos superpoderes al autocompletado visualizando la -documentación de cada propuesta de autocompletado. - -Instalamos previamente: - -\begin{verbatim} -sudo apt install python-jedi python3-jedi -# flake8 for code checks -sudo apt install flake8 python-flake8 python3-flake8 -\end{verbatim} - -Y añadimos la sección en el fichero \texttt{\textasciitilde{}/.emacs}: - -\begin{verbatim} -;;---------------------------------------------------------------------- -;; elpy -(elpy-enable) -(setq elpy-rpc-backend "jedi") - -(add-hook 'python-mode-hook 'jedi:setup) -(setq jedi:complete-on-dot t) -\end{verbatim} - -Desde \emph{Emacs} ejecutamos: \texttt{alt-x\ jedi:install-server} - \hypertarget{jupyter}{% \subsubsection{Jupyter}\label{jupyter}} diff --git a/src/400_swdev.md b/src/400_swdev.md index 417186c..d8e0472 100644 --- a/src/400_swdev.md +++ b/src/400_swdev.md @@ -220,105 +220,50 @@ No te olvides de compilar también el _Project Generator_. ## Python -De partida tenemos instalado dos versiones: _python_ y _python3_ +De partida tenemos instalado dos versiones: _python2_ y _python3_ + +Parece que Linux Mint no viene con nigún python por defecto. Si +invocamos el comando `python` el sistema nos indicará que no existe. + +Para escoger un python por defecto tenemos dos paquetes que podemos +instalar: `python-is-python2` y `python-is-python3` + +En principio yo no quería instalar ninguno para averigüar que paquetes +no funcionaban, pero la instalación de VirtualBox hizo que se +instalara automáticamente el paquete `python-is-python2`. ~~~~{bash} -python -V -Python 2.7.12 +python2 -V +Python 2.7.18rc1 python3 -V -Python 3.5.2 +Python 3.8.2 ~~~~ -### Paquetes de desarrollo +### Paquetes de python instalados -Para que no haya problemas a la hora de instalar paquetes en el futuro +Son los que ya comentamos en la sección de instalación de zsh, como ya dijimos conviene que instalemos los paquetes de desarrollo: ~~~~ -sudo apt install python-dev +sudo apt install python2-dev +sudo apt install python-all-dev sudo apt install python3-dev +sudo apt install python3-all-dev +sudo apt install virtualenv virtualenvwrapper python3-virtualenv ~~~~ -### pip, virtualenv, virtualenvwrapper, virtualfish - -Los he instalado a nivel de sistema. - -_pip_ es un gestor de paquetes para __Python__ que facilita la -instalación de librerías y utilidades. - -Para poder usar los entornos virtuales instalaremos también -_virtualenv_. - -Instalamos los dos desde aptitude: - -~~~~{bash} -sudo apt install python-pip python-virtualenv virtualenv python3-pip -~~~~ - -_virtualenv_ es una herramienta imprescindible en Python, pero da un -poco de trabajo, así que se han desarrollado algunos frontends para -simplificar su uso, para _bash_ y _zsh_ usaremos _virtualenvwrapper_, -y para _fish_ el _virtualfish_. Como veremos son todos muy parecidos. - -Instalamos el virtualwrapper: - -~~~~{bash} -sudo apt install virtualenvwrapper -y -~~~~ - -Para usar _virtualenvwrapper_ tenemos que hacer: - -~~~~{bash} -source /usr/share/virtualenvwrapper/virtualenvwrapper.sh -~~~~ - -O añadir esa linea a nuestros ficheros _.bashrc_ y/o _.zshrc_ - -Definimos la variable de entorno *WORKON_HOME* para que -apunte al directorio por defecto, `~/.local/share/virtualenvs`. En ese directorio -es donde se guardarán nuestros entornos virtuales. - -En el fichero `.profile` añadimos: +Ademas añadimos las siguientes lineas al fichero `~/.profile`: -~~~~ +~~~~{bash{ # WORKON_HOME for virtualenvwrapper -if [ -d "$HOME/.local/share/virtualenvs" ] ; then - WORKON_HOME="$HOME/.local/share/virtualenvs" +if [ -d "$HOME/.virtualenvs" ] ; then +WORKON_HOME="$HOME/.virtualenvs" fi ~~~~ -[Aquí](http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html) -tenemos la referencia de comandos de _virtualenvwrapper_ - -Por último, si queremos tener utilidades parecidas en nuestro _fish -shell_ instalamos _virtualfish_: - -~~~~{bash} -sudo pip install virtualfish -~~~~ - -[Aquí](http://virtualfish.readthedocs.io/en/latest/index.html) tenemos -la documentación de _virtualfish_ y la descripción de todos los -comandos y plugins disponibles. - -### pipenv - -No lo he instalado, pero en caso de instalación mejor lo instalamos a -nivel de usuario con: - -~~~~{bash} -pip install --user pipenv -~~~~ - -### Instalación del Python 3.8 (última disponible) - -Ejecutamos: - -~~~~{bash} -sudo apt install python3.8 python3.8-dev python3.8-venv -~~~~ - +[Aquí](https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html) +tenemos la referencia de comandos de _virtualenvwrapper_. ### Instalación de bpython y ptpython @@ -327,100 +272,6 @@ sudo apt install python3.8 python3.8-dev python3.8-venv [_ptpython_](https://github.com/prompt-toolkit/ptpython) instalado en un virtualenv para probarlo -### Emacs para programar python - -#### elpy: Emacs Python Development Enviroment - -Para instalar `elpy` necesitamos intalar previamente _venv_ el nuevo -gestor de _virtualenvs_ en Python 3.: - -~~~~ -sudo apt install python3-venv -~~~~ - -En el fichero `~/.emacs` necesitamos activar el módulo _elpy_: - -~~~~{lisp} -;;---------------------------------------------------------------------- -;; elpy -(elpy-enable) -~~~~ - -En cuanto activemos _elpy_ tendremos autocompletado del código y -errores sintácticos. Merece la pena leerse toda la -[documentación](https://elpy.readthedocs.io/en/latest/) - -#### Flycheck - -Para tener análisis sintáctico en tiempo real mientras estamos -programando: - -Añadimos a nuestro fichero `~/.emacs`: - -~~~~ -;; Enable Flycheck - -(when (require 'flycheck nil t) - - (setq elpy-modules (delq 'elpy-module-flymake elpy-modules)) - - (add-hook 'elpy-mode-hook 'flycheck-mode)) -~~~~ - -#### Formateado - -Usando _autopep8_ o _black_ tendremos autoformateado del código como -paso previo a salvar el mismo en disco. (Yo aún no he probado _black_) - - -~~~~ -# and autopep8 for automatic PEP8 formatting -sudo apt install python-autopep8 -# and yapf for code formatting (innecesario) -# sudo apt install yapf yapf3 -~~~~ - -Y añadimos la sección siguiente a nuestro fichero `~/.emacs` - -~~~~{lisp} -;; Enable autopep8 - -(require 'py-autopep8) - -(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save) -~~~~ - - - -#### jedi - -Jedi le da ciertos superpoderes al autocompletado visualizando la -documentación de cada propuesta de autocompletado. - -Instalamos previamente: - -~~~~{bash} -sudo apt install python-jedi python3-jedi -# flake8 for code checks -sudo apt install flake8 python-flake8 python3-flake8 -~~~~ - - -Y añadimos la sección en el fichero `~/.emacs`: - -~~~~{lisp} -;;---------------------------------------------------------------------- -;; elpy -(elpy-enable) -(setq elpy-rpc-backend "jedi") - -(add-hook 'python-mode-hook 'jedi:setup) -(setq jedi:complete-on-dot t) -~~~~ - -Desde _Emacs_ ejecutamos: `alt-x jedi:install-server` - - ### Jupyter Una instalación para pruebas.