PIP Install Numpy выдает ошибку "ascii-кодек не может декодировать байт 0xe2"
У меня есть недавно установленный Ubuntu на недавно построенном компьютере. Я просто установил python-pip, используя apt-get. Теперь, когда я пытаюсь выполнить команду install Numpy и Pandas, он дает следующую ошибку.
Я видел эту ошибку, упомянутую в нескольких местах на SO и Google, но я не смог найти решение. Некоторые люди называют это ошибкой, некоторые потоки просто мертвы... Что происходит?
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)
Ответы
Ответ 1
У меня была эта точная проблема в последнее время и использовалась
apt-get install python-numpy
Это добавляет numpy в ваш системный интерпретатор python. Возможно, мне пришлось сделать то же самое для matplotlib. Чтобы использовать в virtualenv, вы должны создать свою среду, используя
--system-site-packages
опции
http://www.scipy.org/install.html
Ответ 2
Для меня комментарий @Charles Duffy решил.
Поместите это в свой env:
LC_ALL=C
Вы можете добавить его в свой .bashrc с помощью строки, подобной этой:
export LC_ALL=C
Но будьте осторожны, чтобы повлиять на все другие программы. Поэтому вы можете использовать его только для запуска pip:
$ LC_ALL=C pip install ...
Ответ 3
Попробуйте обновить pip:
pip install -U pip
Ответ 4
У меня была эта проблема с пакетом matplotlib.
Мне пришлось выполнить:
export LC_ALL=C
pip install --upgrade setuptools
Ответ 5
Для меня это было решено путем игнорирования (предположительно) поврежденного кеша с помощью
pip install --no-cache-dir ...
как описано здесь: https://github.com/pypa/pip/issues/2674
Ответ 6
У меня была аналогичная ошибка при запуске pip install pandas
, и это было связано с нехваткой памяти. Я увеличил память на своей виртуальной машине до 4G и зафиксировал ее.
Ответ 7
Комбинация
sudo apt-get install python-dev
и
export LC_ALL=C
pip install --upgrade setuptools
решил мою проблему.
Ответ 8
В каталоге 'site-packages' сделайте 'sitecustomize.py' следующим образом
import sys
sys.setdefaultencoding("utf-8")
Теперь вы можете получить файл "pip.log"
Ответ 9
попробуйте sudo apt-get install python-numpy
.
Это сработало для меня, и оно может быть использовано для scipy, pandas и т.д., Заменив их вместо numpy. (У)
Ответ 10
Если вам нужна версия numpy numpy, вы можете создать зависимости для пакета, а затем установить его с помощью pip
sudo apt-get build-dep python-numpy
pip install numpy
Для установки пакета необходимо установить все необходимое на уровне системы.
Ответ 11
Была аналогичная проблема на Jetson TK1 с Ubuntu.
Прекрасно работает с apt-get install python-pandas
Ответ 12
Так много ответов, и никто не работал у меня, хотя некоторые из них явно работали для других людей. Но я тогда выяснил, в чем была моя проблема, поэтому я просто добавлю его в коллекцию:
dpkg-reconfigure locales
# enable the "en-US.UTF-8" locale
# when asked for a default, no need to define one
Дело в том, что я работал в контейнере Linux Debian Stretch, у которого не было установленных локалей UTF-8, вероятно, потому, что я загрузил минимальное изображение запаса. Теперь, когда этот локаль UTF-8 установлен, pip правильно установил numpy и другие пакеты.
Ответ 13
В моем случае я только что установил Python из источника (на удаленном компьютере, где я не sudo
). По какой-то причине pip
был на какой-то действительно старой версии. Итак, после:
python -m pip install --upgrade pip
Мне удалось установить numpy
и все, что я хотел, без проблем.
Ответ 14
Я встретил подобную проблему. Я пробовал:
export LC_ALL=C
pip install --upgrade setuptools
Но это не решило проблему, но появилась еще одна ошибка:
AttributeError: объект 'str' не имеет атрибута 'rollback'
Затем я попытался:
pip install -U pip
Тогда проблема была решена.