Pip Install Numpy lance une erreur " le codec ascii ne peut pas décoder l'octet 0xe2"
J'ai un Ubuntu fraîchement installé sur un ordinateur fraîchement construit. Je viens d'installer python-pip en utilisant apt-get. Maintenant, quand j'essaie d'installer pip Numpy et Pandas, cela donne l'erreur suivante.
J'ai vu cette erreur mentionnée à quelques endroits sur SO et Google, mais je n'ai pas pu trouver de solution. Certaines personnes mentionnent que c'est un bug, certains fils sont juste morts... Ce qui se passe?
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = 'n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128)
18 réponses
J'ai eu ce problème exact récemment et utilisé
apt-get install python-numpy
Cela ajoute numpy à votre interpréteur python système. J'ai peut-être dû faire la même chose pour matplotlib. Pour utiliser dans un virtualenv, vous devez créer votre environnement en utilisant le
--system-site-packages
Option
Pour moi @ Charles Duffy commentaire résolu. Mettez ceci dans votre env:
LC_ALL=C
, Vous pouvez l'ajouter à votre .bashrc avec une ligne comme ceci:
export LC_ALL=C
Mais veillez à ce que vous affectiez tous les autres programmes. Donc, vous pouvez l'utiliser juste pour la course pip:
$ LC_ALL=C pip install ...
J'ai eu ce problème avec le paquet matplotlib. Je devais exécuter:
export LC_ALL=C
pip install --upgrade setuptools
Pour moi, cela a été résolu en ignorant un cache (vraisemblablement) corrompu avec
pip install --no-cache-dir ...
, tel Que décrit ici: https://github.com/pypa/pip/issues/2674
Une combinaison de
sudo apt-get install python-dev
Et
export LC_ALL=C
pip install --upgrade setuptools
Résolu mon problème.
J'ai eu une erreur similaire lors de l'exécution de pip install pandas
et c'était dû à une pénurie de mémoire. J'ai augmenté la mémoire dans ma machine virtuelle à 4G et cela a corrigé les choses.
Dans le répertoire 'Site-packages', faites 'sitecustomize.py" comme ça
import sys
sys.setdefaultencoding("utf-8")
Maintenant, vous pouvez obtenir le fichier " pip.le journal'
Essayez sudo apt-get install python-numpy
.
Cela a fonctionné pour moi et même peut être utilisé pour scipy, pandas etc en les remplaçant à la place de numpy. (Y)
@OSX: Ajoutez les lignes suivantes à votre ~/.profile
ou ~/.bashrc
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
Exécutez les scripts en utilisant
source ~/.profile
ou source ~/.bashrc
Si vous voulez la version PIP de numpy, vous pouvez construire les dépendances pour le paquet, puis l'installer en utilisant pip
sudo apt-get build-dep python-numpy
pip install numpy
Cela devrait installer tout le nécessaire au niveau du système pour installer le paquet.
A eu un problème similaire sur un Jetson TK1 avec Ubuntu.
Fonctionne très bien avec apt-get install python-pandas
Tant de réponses et aucune n'a fonctionné pour moi même si certaines ont clairement travaillé pour d'autres personnes. Mais j'ai ensuite compris quel était mon problème, donc je vais juste l'ajouter à la collection:
dpkg-reconfigure locales
# enable the "en-US.UTF-8" locale
# when asked for a default, no need to define one
La chose est, je travaillais à L'intérieur D'un conteneur Debian Stretch linux qui n'avait pas de paramètres régionaux UTF-8 installés, probablement parce que j'ai téléchargé une image minimale. Avec cette locale UTF-8 maintenant installée, PIP correctement installé numpy et d'autres paquets.
Dans mon cas, je venais d'installer Python à partir de la source (sur une machine distante où je ne suis pas sudo
). Pour une raison quelconque, pip
était sur une version vraiment ancienne. Donc après:
python -m pip install --upgrade pip
, j'ai pu installer numpy
et tout ce que je voulais sans problème.
J'ai rencontré le problème similaire. J'ai essayé:
export LC_ALL=C
pip install --upgrade setuptools
Mais cela n'a pas résolu le problème, mais une autre erreur est apparue:
AttributeError: l'objet 'str' n'a pas d'attribut 'rollback'
Puis j'ai essayé:
pip install -U pip
Ensuite, le problème a été résolu.
La réinitialisation de mes paramètres régionaux dans ma machine à celui attendu a résolu mon problème. Pour moi, le problème a commencé lorsque j'ai changé mes paramètres de langue en anglais (Inde). J'ai dû le remettre à l'anglais(Grande-Bretagne).
Récemment, je suis tombé sur le même problème Cela l'a résolu pour moi:
echo 'export LANG=en_US.UTF-8' >> ~/.bashrc
echo 'export LANGUAGE=en_US:en' >> ~/.bashrc
echo 'export LC_ALL=en_US.UTF-8' >> ~/.bashrc
sudo apt-get install language-pack-en
Remarque,
J'avais déjà installé Python-numpy et python-dev. Même cela peut causer un problème sur votre système. Vous pouvez également exporter LC_ALL=C au lieu de en_US.UTF-8 (ou toute autre langue)
Lors de l'exécution dans un conteneur docker, cela l'a corrigé pour moi (sur le projet django-postgrespool, mais cela devrait aussi fonctionner ici).
# Set the locale
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8