PIP 安装 Numpy 抛出错误“ascii 编解码器无法解码字节 0xe2”

问题描述 投票:0回答:19

我在一台新构建的计算机上新安装了 Ubuntu。我刚刚使用 apt-get 安装了 python-pip。现在,当我尝试 pip 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)
python numpy pandas pip
19个回答
45
投票

我最近遇到了这个问题并使用了

apt-get install python-numpy

这会将 numpy 添加到您的系统 python 解释器中。我可能不得不对 matplotlib 做同样的事情。要在 virtualenv 中使用,您必须使用

创建环境
--system-site-packages

选项

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


37
投票

对我来说@Charles Duffy 评论解决了这个问题。 将其放入您的环境中:

LC_ALL=C

您可以使用如下行将其添加到您的 .bashrc 中:

export LC_ALL=C

但请注意,您会影响所有其他程序。所以你可能只想将它用于 pip 运行:

$ LC_ALL=C pip install ...


13
投票

尝试更新点:

pip install -U pip

7
投票

我在使用 matplotlib 包时遇到了这个问题。 我必须执行:

export LC_ALL=C
pip install --upgrade setuptools

5
投票

对我来说,这是通过忽略(可能)损坏的缓存来解决的

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

如此处所述:https://github.com/pypa/pip/issues/2674


3
投票

的组合
sudo apt-get install python-dev

export LC_ALL=C
pip install --upgrade setuptools

解决了我的问题。


3
投票

我在运行

pip install pandas
时遇到了类似的错误,这是由于内存不足造成的。我将虚拟机内存增加到 4G,问题就解决了。


3
投票

最近我偶然发现了同样的问题 这为我解决了这个问题:

              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

注意,

我已经安装了 python-numpy 和 python-dev。即使这样也可能会导致您的系统出现问题。 您还可以导出 LC_ALL=C 而不是 en_US.UTF-8(或任何其他语言)


3
投票

在 docker 容器中运行时,这为我解决了这个问题(在项目 django-postgrespool 上,但这也应该在这里工作)。

# 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   

参见https://stackoverflow.com/a/28406007/1876203


1
投票

在“site-packages”目录中,像这样创建“sitecustomize.py”

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

现在您可以获取文件'pip.log'


1
投票

尝试

sudo apt-get install python-numpy
。 它对我来说很有效,通过替换它们来代替 numpy,同样可以用于 scipy、pandas 等。 (是)


1
投票

@OSX 用户:将以下行添加到您的

~/.profile
~/.bashrc

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"

使用以下命令执行脚本

source ~/.profile
source ~/.bashrc


0
投票

如果您想要 numpy 的 pip 版本,可以构建包的依赖项,然后使用 pip 安装它

sudo apt-get build-dep python-numpy
pip install numpy

这应该安装系统级别安装软件包所需的所有内容。


0
投票

在运行 Ubuntu 的 Jetson TK1 上也遇到类似的问题。

apt-get install python-pandas

配合使用效果良好

0
投票

这么多答案,但没有一个对我有用,尽管有些答案显然对其他人有用。但后来我弄清楚了我的问题是什么,所以我将其添加到集合中:

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

问题是,我正在一个 Debian Stretch Linux 容器中工作,该容器碰巧没有安装任何 UTF-8 语言环境,可能是因为我下载了最小的库存图像。现在安装了这个 UTF-8 语言环境,pip 正确安装了 numpy 和其他软件包。


0
投票

就我而言,我刚刚从源代码安装了Python(在我不在的远程计算机上

sudo
)。无论出于何种原因,
pip
使用的是一些非常旧的版本。所以之后:

python -m pip install --upgrade pip

我能够毫无困难地安装

numpy
以及我想要的一切。


0
投票

我遇到了类似的问题。我试过:

export LC_ALL=C
pip install --upgrade setuptools

但是并没有解决问题,反而又出现了错误:

AttributeError:“str”对象没有属性“rollback”

然后我尝试:

pip install -U pip

然后问题就解决了。


0
投票

将计算机中的区域设置重置为预期的设置解决了我的问题。对我来说,当我将语言设置切换为英语(印度)时,问题就开始了。我不得不将其切换回英语(英国)。


0
投票

“ascii 编解码器无法解码字节 0xe2” 我得到了同样的错误,因为我输入了 .env 文件变量,如 OPENAI_KEY = `` 我用反引号代替双引号 OPENAI_KEY =“”

© www.soinside.com 2019 - 2024. All rights reserved.