`pip help install`引发UnicodeDecodeError

时间:2012-08-14 19:42:45

标签: python pip

当我尝试使用pip安装Cython时,我发现编译时发生了错误。一些基本的pip命令也给出了相同的结果:UnicodeDecodeError

错误消息都是这样的:

─➤  pip help install
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/pip/basecommand.py", line 126, in main
    self.run(options, args)
  File "/usr/local/lib/python2.6/dist-packages/pip/commands/help.py", line 19, in run
    command.parser.print_help()
  File "/usr/lib/python2.6/optparse.py", line 1664, in print_help 
    file.write(self.format_help().encode(encoding, "replace"))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 2964: ordinal not in range(128)

我已经通过pip成功安装了其他软件包,但我不知道为什么会突然发生这种情况。任何人都可以告诉我如何解决这个错误?

谢谢!

一些信息: 在Ubuntu 10.04上点击1.0.2

7 个答案:

答案 0 :(得分:1)

这不是一个确切的解决方案,但请尝试检查:

[user@host]$ locale

对我来说,它看起来像这样:

[w495@w-495-ynb ~]$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=C
LC_TIME=ru_RU.UTF-8
LC_COLLATE=C
LC_MONETARY=C
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT=C
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

我想问题就在其中。

您可以尝试自己手动设置命令行中的语言环境变量。 例如:

[user@host]$ LANG=en_US.utf8
[user@host]$ pip help install

我不确定LANG对您有何帮助。如果不是 - 请从locale输出全部尝试。如果有效,请根据需要永久设置。把这个

export LANG=en_US.utf8
export <ANY OTHER VAR THAT HELPS>=en_US.utf8

~/.bashrc~/.profile中并使用

[user@host]$ source ~/.bashrc

应用您的更改。

答案 1 :(得分:0)

如果您可以访问服务器,请尝试:

nano /usr/lib/python2.6/sitecustomize.py, and write on file:
import sys
sys.setdefaultencoding('utf-8')

答案 2 :(得分:0)

在终端试试这个:

$ which python

$ which pip

Pip应该与您正在使用的解释器使用相同的Python安装。如果它们不相同,请修改.bashrc或.bash_profile以确保它们是。

答案 3 :(得分:0)

你可以尝试

sudo apt-get install python-pip

它将安装pip各自的python版本。

答案 4 :(得分:0)

首先使用
sudo apt-get update更新所有软件包/存储库最新的Cython版本始终可以从http://cython.org下载。解压缩tarball或zip文件,输入目录,然后运行:

pypython setup.py install

pip install cython

答案 5 :(得分:0)

使用以下命令删除pip

sudo apt-get purge python-pip

然后安装pip的新副本:

curl  https://bootstrap.pypa.io/get-pip.py | sudo python

答案 6 :(得分:0)

当我将模块安装到我的计算机上使用时,我被教导只需在命令提示符下键入以下内容(例如,这将安装numpy):

sport['selected'] = ''

我不知道您是否将其输入解释器,但这可能是个问题。希望这有帮助!