当我尝试使用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
答案 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'] = ''
我不知道您是否将其输入解释器,但这可能是个问题。希望这有帮助!