Mantén la atención porque en este enunciado hallarás la solución que buscas.
Solución:
Primero, pip install gi
instalará otro paquete no relacionado, el nombre correcto es pgi
. Pero después de ejecutar:
$ pip uninstall gi
$ pip install pgi
$ python toolmanager.py
[...]
Traceback (most recent call last):
File "toolmanager.py", line 14, in
import matplotlib.pyplot as plt
File "/home/hakon/.pyenv/versions/3.6.1/lib/python3.6/site-packages/matplotlib/pyplot.py", line 115, in
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/home/hakon/.pyenv/versions/3.6.1/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/home/hakon/.pyenv/versions/3.6.1/lib/python3.6/site-packages/matplotlib/backends/backend_gtk3cairo.py", line 6, in
from . import backend_gtk3
File "/home/hakon/.pyenv/versions/3.6.1/lib/python3.6/site-packages/matplotlib/backends/backend_gtk3.py", line 12, in
raise ImportError("Gtk3 backend requires pygobject to be installed.")
ImportError: Gtk3 backend requires pygobject to be installed.
Parece que pygobject
para Python 3 no se puede instalar desde PyPI. Entonces traté de instalar todo desde el paquete de distribución de Ubuntu python3-gi
en lugar de:
$ sudo apt-get install python3-gi
$ pyenv local system
$ python3 --version
Python 3.5.3
$ python3 toolmanager.py
y esto funciona bien 🙂
Para instalar Python estándar, Håkon Hægland answer es la mejor opción.
Pero para una versión alternativa de Python, se puede usar pip
. Tenga en cuenta que el pip alternativo debe usarse para que coincida con el pitón alternativo.
Las explicaciones completas se dan en la documentación.
Por ejemplo, en openSUSE (python estándar versión 3.6, alternativa instalada 3.8):
> sudo zypper install cairo-devel pkg-config python3-devel gcc gobject-introspection-devel
> pip3.8 install --user pycairo
> pip3.8 install --user PyGObject
> python3.8
Python 3.8.1 (default, Feb 1 2020, 14:50:41)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>>
Si haces scroll puedes encontrar las anotaciones de otros gestores de proyectos, tú de igual manera tienes la habilidad dejar el tuyo si lo crees conveniente.