diff options
Diffstat (limited to 'content/weblog/2018-08-03_how-to-break-and-repair-pip')
3 files changed, 182 insertions, 0 deletions
diff --git a/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.es.md b/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.es.md new file mode 100644 index 0000000..6458da7 --- /dev/null +++ b/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.es.md @@ -0,0 +1,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) diff --git a/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.md b/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.md new file mode 100644 index 0000000..c2aa000 --- /dev/null +++ b/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.md @@ -0,0 +1,59 @@ ++++ +title = "How to break pip, and how to repair it..." +date = 2018-08-03T22:00:00Z ++++ + +Sometimes a program may suggest to you something, and you may following said +program's suggestion, because, why not, you trust the devs because they've done +an amazing job developing the program, and heck, they should know what they are +doing with their tools. + +<!-- more --> + +With pip, this does not seem to be the case however. I've come across this +issue on my laptop and desktop computers running Manjaro, and while fixed it on +my laptop, I forgot how to fix it by the time I encountered on my desktop. The +problem: pip refuses to collect a package while trying to install any package +system wide (e.g. pywal), exiting with an exception like 'ModuleNotFoundError' +or something similar. + +First, I'll write down what NOT to do to avoid getting this error. + +You may get a message like this when after installing a package with 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. +``` + +If you get the following while NOT using a virtual environment, don't pay +attention to it. Don't even look at it. Just ignore it. I didn't, and now I am +writing a post about how to fix the mess that it causes because of following +that seemingly innocent and well-intended advice. At least not if you are using +an Arch-based distribution, don't really know about how this is managed in +other distributions, since I don't recall having this problem when using +Debian. + +Now, if you are using a virtual environment, you obviously can and should +upgrade pip this way. However, system-wide, your package manager (pacman) +should take care of upgrading pip along with your other packages when you +upgrade your system (pacman -Syu). + +## The fix + +If you unfortunately, like me, already ran the upgrade through pip, you should +first delete some files, by running this command: + +```sh +$ sudo rm -rf /usr/lib/python3.6/site-packages/pip /usr/lib/python3.6/site-packages/pkg_resources +``` + +Then, you should reinstall pip and setup tools: + +```sh +$ sudo pacman -S python-setuptools python-pip +``` + +And that's it! Your pip should now be as good as new. + +I found the solution in this forum thread: [https://bbs.archlinux.org/viewtopic.php?id=237451](https://bbs.archlinux.org/viewtopic.php?id=237451) diff --git a/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.ru.md b/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.ru.md new file mode 100644 index 0000000..0a62d75 --- /dev/null +++ b/content/weblog/2018-08-03_how-to-break-and-repair-pip/index.ru.md @@ -0,0 +1,61 @@ ++++ +title = "How to break pip, and how to repair it..." +date = 2018-08-03T22:00:00Z ++++ + +Бывает такое что программу которую мы используем предлагает нам какое-то +действие. И подумаешь, почему бы не следовать совету, ведь разработчики +красавчики сделали прекрасную работу разрабатывая эту программу, они наверно +знают о чем они говорят. + +<!-- more --> + +С pip'ом походу это так не работает. Я столкнулся с этой проблемой сначала на +моем ноутбуке, а затем на своем настольном компьютере (У меня на обоих стоит +Manjaro). На своем ноутбуке я решил проблему, и когда снова с ней столкнулся на +настольном, я забыл как ее решить. Проблема заключается в том что pip +отказывается установить пакет, выдавая исключение, например +'ModuleNotFoundError'. + +Сначала, я вам расскажу что НЕ надо делать чтобы избежать данную проблему. + +У вас терминале может появится следующее сообщение после того как вы +пользовались 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. +``` + +Если вы видете такое, или похоже сообшение (например, тоже самое но на +русском), не обращаете на него внимание. Даже не смотрите на него. Просто +сделаете вид что его нет. Я послушался советом этого сообщения, и вот, из-за +этого а теперь я пишу запись на своем блоге о том как решить ошибку которая +возникает из-за того что следовал этим советом. По крайней мере не обращайте +внимание на это сообщение если у вас дистрибутив основан на Arch. На счет +других дистрибутивов я не знаю как следует поступать. + +Однако, если вы работаете в виртуальной среде, можно и надо использовать pip +для обновления самого pip'a. Но если используем pip чтобы установить пакеты на +уровне системы, то следует пользоваться своим менеджером пакетов (pacman) для +обновления pip'a, поскольку сам менеджер пакетов обновит ваш pip вместе с +остальными пакетами системы когда этого потребуется. + +## Решение + +Если вы, увы, как и я, послушались pip'a и обновили его через самого себя (то +есть обновили pip используя сам pip) то сначала потребуется удалить некоторые +файлы: + +```sh +$ sudo rm -rf /usr/lib/python3.6/site-packages/pip /usr/lib/python3.6/site-packages/pkg_resources +``` + +Then, you should reinstall pip and setup tools: + +```sh +$ sudo pacman -S python-setuptools python-pip +``` +Вот и все! Ваш pip готов к работе. + +Решение проблемы я нашел на форумах arch: [https://bbs.archlinux.org/viewtopic.php?id=237451](https://bbs.archlinux.org/viewtopic.php?id=237451) |