aboutsummaryrefslogtreecommitdiff
path: root/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.es.md
blob: 6458da7a04b85d7ceac625d3ebbeb6196e5b3954 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
+++
title = "How to break pip, and how to repair it..."
date = 2018-08-03T22:00:00Z
+++

A veces, un programa nos puede sugerir hacer algo, y posiblemente sigas el
consejo que te haya ofrecido porque ¿Por qué no? Confías en los desarrolladores
que lo hicieron, y como han hecho un maravilloso trabajo desarrollando el
programa, seguramente saben de lo que hablan.

<!-- more -->

Sin embargo, esto no parece ser así con pip. Me encontré con este error en mi
laptop y en mi computadora de escritorio, en las cuales tengo instalado
Manjaro, y logré corregirlo en mi portátil. Sin embargo, cuando me volví a
encontrar con el problema en mi computadora de escritorio, ya se me había
olvidado como repararlo. El problema: cuando intentas instalar algún modulo a
nivel de sistema con pip (por ejemplo, pywal), sale un excepción como
'ModuleNotFoundError' que previene la instalación de dicho módulo.

Primero escribiré qué es lo que NO hay que hacer para evitar el problema.

Probablemente te salga un mensaje como éste después de haber usado pip

```sh
You are using pip version x.x.x, however version x.x is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
```

Si te sale éste mensajito al estar usando pip fuera de un medio virtual
(virtual environment), NO le hagas caso. Ni siquiera le mires. Simplemente
ignóralo. Yo le hice caso, y mira a lo que me llevo. Por hacerle caso ahora
estoy escribiendo una entrada acerca de como arreglar este rollo por haberle
hecho caso al mensaje. Al menos ignóralo si estás usando una distribución
basada en Arch. No sé cómo sea en las demás, ya que no me acuerdo haberme
encontrado con este error cuando usaba Debian.

Vaya, que si estás usando un medio virtual, claro que puedes, y deberías,
actualizar pip como dice el mensaje. Pero si estás fuera de un medio virtual
instalando paquetes a nivel de sistema, tu administrador de paquetes (pacman)
se hará cargo de actualizar pip al momento en que actualices el resto del
sistema (pacman -Syu).

## La solución

Si tú, desafortunadamente, al igual que yo, ya hiciste la chorrada de
actualizar pip usando nada más y nada menos que pip, primero deberás eliminar
los archivos de pip ejecutando el siguiente comando:

```sh
$ sudo rm -rf /usr/lib/python3.6/site-packages/pip /usr/lib/python3.6/site-packages/pkg_resources
```

Posteriormente, necesitarás reinstalar pip y setup tools:

```sh
$ sudo pacman -S python-setuptools python-pip
```

Y ya está ¡Así de fácil!.

La solución la encontré en el siguiente foro: [https://bbs.archlinux.org/viewtopic.php?id=237451](https://bbs.archlinux.org/viewtopic.php?id=237451)