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

Jos*_*h.F 66 python numpy pip pandas

我在新建的计算机上安装了新安装的Ubuntu.我刚刚使用apt-get安装了python-pip.现在,当我尝试pip安装Numpy和Pandas时,它会出现以下错误.

我已经在SO和谷歌的很多地方看到过这个错误,但我找不到解决方案.有人提到它是一个bug,有些线程刚刚死了......发生了什么事?

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)
Run Code Online (Sandbox Code Playgroud)

小智 45

我最近有这个确切的问题并使用过

apt-get install python-numpy
Run Code Online (Sandbox Code Playgroud)

这为你的系统python解释器添加了numpy.我可能不得不为matplotlib做同样的事情.要在virtualenv中使用,您必须使用.创建您的环境

--system-site-packages
Run Code Online (Sandbox Code Playgroud)

选项

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

  • 您不需要重新创建`virtualenv`,您可以使用`virtualenv VIRTUALENV_DIR --system-site-packages`修改现有的`virtualenv`. (3认同)
  • 在Ubuntu服务器14.02上有同样的问题.`sudo apt-get install python2.7-dev`解决了这个问题. (3认同)
  • 谢谢!另外,我发现如果python-dev没有出现在计算机上,你也需要它 (2认同)

mse*_*man 36

对我来说@Charles Duffy评论解决了它.把它放在你的环境中:

LC_ALL=C

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

export LC_ALL=C

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

$ LC_ALL=C pip install ...

  • 你回答的更好的措辞是:在你的〜/ .bashrc中添加"export LC_ALL = C" (4认同)

Noa*_*oah 12

尝试更新点子:

pip install -U pip
Run Code Online (Sandbox Code Playgroud)


max*_*max 7

我有matplotlib包的问题.我不得不执行:

export LC_ALL=C
pip install --upgrade setuptools
Run Code Online (Sandbox Code Playgroud)


jvd*_*d10 5

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

pip install --no-cache-dir ...
Run Code Online (Sandbox Code Playgroud)

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