我在一台新构建的计算机上新安装了 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)
我最近遇到了这个问题并使用了
apt-get install python-numpy
这会将 numpy 添加到您的系统 python 解释器中。我可能不得不对 matplotlib 做同样的事情。要在 virtualenv 中使用,您必须使用
创建环境--system-site-packages
选项
对我来说@Charles Duffy 评论解决了这个问题。 将其放入您的环境中:
LC_ALL=C
您可以使用如下行将其添加到您的 .bashrc 中:
export LC_ALL=C
但请注意,您会影响所有其他程序。所以你可能只想将它用于 pip 运行:
$ LC_ALL=C pip install ...
尝试更新点:
pip install -U pip
我在使用 matplotlib 包时遇到了这个问题。 我必须执行:
export LC_ALL=C
pip install --upgrade setuptools
对我来说,这是通过忽略(可能)损坏的缓存来解决的
pip install --no-cache-dir ...
的组合
sudo apt-get install python-dev
和
export LC_ALL=C
pip install --upgrade setuptools
解决了我的问题。
我在运行
pip install pandas
时遇到了类似的错误,这是由于内存不足造成的。我将虚拟机内存增加到 4G,问题就解决了。
最近我偶然发现了同样的问题 这为我解决了这个问题:
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(或任何其他语言)
在 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
在“site-packages”目录中,像这样创建“sitecustomize.py”
import sys
sys.setdefaultencoding("utf-8")
现在您可以获取文件'pip.log'
尝试
sudo apt-get install python-numpy
。
它对我来说很有效,通过替换它们来代替 numpy,同样可以用于 scipy、pandas 等。 (是)
@OSX 用户:将以下行添加到您的
~/.profile
或 ~/.bashrc
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
使用以下命令执行脚本
source ~/.profile
或 source ~/.bashrc
如果您想要 numpy 的 pip 版本,可以构建包的依赖项,然后使用 pip 安装它
sudo apt-get build-dep python-numpy
pip install numpy
这应该安装系统级别安装软件包所需的所有内容。
在运行 Ubuntu 的 Jetson TK1 上也遇到类似的问题。
与
apt-get install python-pandas
配合使用效果良好
这么多答案,但没有一个对我有用,尽管有些答案显然对其他人有用。但后来我弄清楚了我的问题是什么,所以我将其添加到集合中:
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 和其他软件包。
就我而言,我刚刚从源代码安装了Python(在我不在的远程计算机上
sudo
)。无论出于何种原因,pip
使用的是一些非常旧的版本。所以之后:
python -m pip install --upgrade pip
我能够毫无困难地安装
numpy
以及我想要的一切。
我遇到了类似的问题。我试过:
export LC_ALL=C
pip install --upgrade setuptools
但是并没有解决问题,反而又出现了错误:
AttributeError:“str”对象没有属性“rollback”
然后我尝试:
pip install -U pip
然后问题就解决了。
将计算机中的区域设置重置为预期的设置解决了我的问题。对我来说,当我将语言设置切换为英语(印度)时,问题就开始了。我不得不将其切换回英语(英国)。
“ascii 编解码器无法解码字节 0xe2” 我得到了同样的错误,因为我输入了 .env 文件变量,如 OPENAI_KEY = `` 我用反引号代替双引号 OPENAI_KEY =“”