Spyder es un entorno gráfico para escribir código en Python. En la página oficial del proyecto recomiendan instalarlo con el gestor de paquetes “anaconda”. En mi caso lo instalé desde el gestor “pip”, pero tuve que hacer algunos ajustes para poder ejecutar Spyder después de instalarlo. En particular para evitar un error en el paquete Jinja2.

Entorno gráfico de Spyder
Entorno gráfico de Spyder.

Estoy usando Debian GNU/Linux 11 (bullseye), pip 20.3.4, Python 3.9.2 y Spyder 5.4.3.

La instalación de Spyder desde pip se puede realizar con los siguientes comandos (# es superusuario y $ es usuario común):

# apt install pyqt5-dev-tools

$ pip install -U spyder

Con esto ya está instalado Spyder, y se debería poder ejecutar con el siguiente comando:

$ spyder

Sin embargo, en mi caso devuelve el siguiente error:

cannot import name ‘environmentfilter’ from ‘jinja2’ (/home/usuario/.local/lib/python3.9/site-packages/jinja2/__init__.py)

Al parecer esto tiene que ver con que el paquete Jinja2 cambió la estructura de sus directorios al pasar de la versión 3.0.3 a la 3.1; y Spyder espera encontrar la estructura de la versión 3.0.3 (o inferior).

Para ver qué versión de Jinja2 tienen, puede ejecutar el siguiente comando, que lista todos los paquetes instalados en pip:

$ pip list

En mi caso la versión de Jinja2 que tenía instalada era la 3.1.2 (que no le sirve a Spyder). Para poder ejecutar Spyder, una solución es pasar a la versión 3.0.3 de Jinja2. Esto se puede hacer con el siguiente comando:

$ pip install Jinja2==3.0.3

Luego de esto Spyder debería ejecutar correctamente desde la línea de comandos.

Referencias

  1. Spyder. Guía de instalación. enlace
  2. The White Rabbit. Cannot import name ‘environmentfilter’ from ‘jinja2’ enlace
  3. Jinja2. Instalación. enlace