我在新建的计算机上安装了新安装的Ubuntu。我刚刚使用apt-get安装了python-pip。现在,当我尝试pip安装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)
答案 0 :(得分:45)
我最近遇到了这个问题并使用了
apt-get install python-numpy
这为你的系统python解释器添加了numpy。我可能不得不为matplotlib做同样的事情。要在virtualenv中使用,您必须使用
创建环境--system-site-packages
选项
答案 1 :(得分:36)
对我来说@Charles Duffy评论解决了它。 把它放在你的环境中:
LC_ALL=C
您可以使用以下行添加到.bashrc:
export LC_ALL=C
但请注意,您将影响所有其他计划。所以你可能只想把它用于pip运行:
$ LC_ALL=C pip install ...
答案 2 :(得分:12)
尝试更新pip:
pip install -U pip
答案 3 :(得分:7)
我有matplotlib包的问题。 我不得不执行:
export LC_ALL=C
pip install --upgrade setuptools
答案 4 :(得分:4)
对我来说,这是通过用
忽略(可能是)已损坏的缓存来解决的pip install --no-cache-dir ...
答案 5 :(得分:3)
运行pip install pandas
时出现类似错误,这是由于内存不足造成的。我将虚拟机中的内存增加到4G并修复了一些问题。
答案 6 :(得分:3)
的组合
sudo apt-get install python-dev
和
export LC_ALL=C
pip install --upgrade setuptools
解决了我的问题。
答案 7 :(得分:2)
最近,我偶然发现了同样的问题 这解决了我的问题:
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(或任何其他语言)
答案 8 :(得分:1)
在'site-packages'目录中,像这样制作'sitecustomize.py'
import sys
sys.setdefaultencoding("utf-8")
现在您可以获取文件'pip.log'
答案 9 :(得分:1)
当在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
答案 10 :(得分:1)
@OSX用户:将以下行添加到~/.profile
或~/.bashrc
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
使用执行脚本
source ~/.profile
或source ~/.bashrc
答案 11 :(得分:1)
尝试sudo apt-get install python-numpy
。
它适用于我,同样可以用于scipy,pandas等,取代它们代替numpy。 (Y)
答案 12 :(得分: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语言环境,请正确安装numpy和其他软件包。
答案 13 :(得分:0)
就我而言,我刚刚从源代码安装了Python(在我不是sudo
的远程机器上)。无论出于何种原因,pip
处于一些非常旧的版本。所以之后:
python -m pip install --upgrade pip
我能够毫无困难地安装numpy
和我想要的一切。
答案 14 :(得分:0)
我遇到了类似的问题。我试过了:
export LC_ALL=C
pip install --upgrade setuptools
但它没有解决问题,但又出现了另一个错误:
AttributeError:'str'对象没有属性'rollback'
然后我尝试了:
pip install -U pip
然后问题解决了。
答案 15 :(得分:0)
使用Ubuntu在Jetson TK1上遇到类似的问题。
与apt-get install python-pandas
答案 16 :(得分:0)
将我的机器中的区域设置重置为预期的设置解决了我的问题。对我来说,当我将语言设置切换为英语(印度)时问题就出现了。我不得不把它换回英国(英国)。
答案 17 :(得分:0)
如果你想要numpy的pip版本,你可以为包构建依赖项,然后使用pip安装它
sudo apt-get build-dep python-numpy
pip install numpy
这应该安装系统级所需的一切来安装软件包。