web-dev-qa-db-fra.com

PIP Installer Numpy génère 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 avec apt-get. Maintenant, lorsque j'essaye de pog installer Numpy et Pandas, cela donne l'erreur suivante.

J'ai vu cette erreur mentionnée à plusieurs endroits sur SO et Google, mais je n'ai pas trouvé de solution. Certaines personnes mentionnent que c'est un bug, certaines discussions sont tout simplement mortes ... Qu'est-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)
66
Josh.F

J'ai eu ce problème exact récemment et utilisé

apt-get install python-numpy

Ceci ajoute numpy à votre interpréteur python système. J'ai peut-être dû faire la même chose pour matplotlib. Pour utiliser virtualenv, vous devez créer votre environnement en utilisant le

--system-site-packages

option

http://www.scipy.org/install.html

45
Jeff M.

Pour moi, le commentaire de @Charles Duffy l'a résolu . Mettez ceci dans votre env:

LC_ALL=C

Vous pouvez l'ajouter à votre .bashrc avec une ligne comme celle-ci:

export LC_ALL=C

Mais assurez-vous que vous affecterez tous les autres programmes. Donc, vous voudrez peut-être l'utiliser uniquement pour l'exécution du pip:

$ LC_ALL=C pip install ...

36
msemelman

Essayez de mettre à jour le pip:

pip install -U pip
12
Noah

J'ai eu ce problème avec le paquet matplotlib ..__, j'ai dû exécuter:

export LC_ALL=C
pip install --upgrade setuptools
7
max

Pour moi, cela a été résolu en ignorant un cache (vraisemblablement) corrompu avec

pip install --no-cache-dir ...

comme décrit ici: https://github.com/pypa/pip/issues/2674

4
jvd10

J'ai eu une erreur similaire lors de l'exécution de pip install pandas et cela était dû à un manque de mémoire. J'ai augmenté la mémoire de ma machine virtuelle à 4G et cela a corrigé les choses.

3
Selah

Une combinaison de 

Sudo apt-get install python-dev

et 

export LC_ALL=C
pip install --upgrade setuptools

résolu mon problème. 

3
Ali

Récemment, je suis tombé sur le même problème Cela le résout 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 ceci peut causer un problème sur votre système . Vous pouvez également exporter LC_ALL = C au lieu de en_US.UTF-8 (ou de toute autre langue)

2
harshhx17

Dans le répertoire 'site-packages', faites 'sitecustomize.py' comme ceci

import sys
sys.setdefaultencoding("utf-8")

Maintenant vous pouvez obtenir le fichier 'pip.log'

1
Toby Seo

Utilisateurs @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

1
Nikhil

Lors de l'exécution dans un conteneur Docker, cela a été corrigé (pour le projet Django-postgrespool, mais cela devrait également 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   

voir https://stackoverflow.com/a/28406007/1876203

1
Jan DB

essayez Sudo apt-get install python-numpy ..____. Cela a fonctionné pour moi et même peut être utilisé pour scipy, pandas etc. (Y)

1
Tavleen

Avait un problème similaire sur un Jetson TK1 avec Ubuntu.

Fonctionne bien avec apt-get install python-pandas 

0
rafaelvalle

Réinitialiser les paramètres régionaux de ma machine sur ceux attendus 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 repasser en anglais (Grande-Bretagne).

0

Dans mon cas, je venais d'installer Python à partir des sources (sur une machine distante sur laquelle je ne suis pas Sudo). Pour une raison quelconque, pip était sur une version très ancienne. Donc après:

python -m pip install --upgrade pip

J'ai pu installer numpy et tout ce que je voulais sans problème.

0
Pete

Si vous voulez la version pip de numpy, vous pouvez créer les dépendances du paquet puis l’installer à l’aide de 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. 

0
arinarmo

J'ai rencontré le même problème. 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 s'est produite:

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. 

0
Eleven

Tant de réponses et aucune n’a fonctionné pour moi, même si certaines ont clairement fonctionné pour d’autres personnes. Mais j'ai alors compris quel était mon problème, je vais donc l'ajouter à la collection:

dpkg-reconfigure locales
# enable the "en-US.UTF-8" locale
# when asked for a default, no need to define one

Le fait est que je travaillais dans un conteneur Linux Debian Stretch qui ne disposait d'aucun environnement local UTF-8 installé, probablement parce que j'avais téléchargé une image stock minimale. Avec cette locale UTF-8 maintenant installée, pip correctement installé numpy et d’autres paquetages.

0
jlh