【问题标题】:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 35: ordinal not in range(128)UnicodeDecodeError:“ascii”编解码器无法解码位置 35 中的字节 0xe2:序数不在范围内(128)
【发布时间】:2014-05-29 10:36:13
【问题描述】:

我正在尝试在我的 kali linux 发行版上安装 pyopenssl v 0.13.1

当我这样做时:

sudo pip install pyopenssl==0.13.1

Downloading/unpacking pyopenssl==0.13.1
  Downloading pyOpenSSL-0.13.1.tar.gz (254kB): 254kB downloaded
  Running setup.py (path:/tmp/pip_build_root/pyopenssl/setup.py) egg_info for package pyopenssl

....

它返回此错误:

----------------------------------------
  Rolling back uninstall of pyOpenSSL
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/pyopenssl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-EElRHo-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/pyopenssl
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
    return command.main(cmd_args)
  File "/usr/local/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 35: ordinal not in range(128)

我现在可以尝试什么?

谢谢!

【问题讨论】:

  • locale 从 bash 输出什么?
  • root@kali:/# locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8 " LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US .UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
  • 使用 pyopenssl==0.14 是否会出现同样的错误
  • 不,另一个:pastebin.com/P5aBpNz1
  • 我需要它用于外部程序。我尝试安装 0.12、0.10、0.9、0.8 但没有成功,顺便说一句。

标签: python python-module pyopenssl


【解决方案1】:

我在尝试安装 leveldb 包和 numpy 包时遇到了几乎相同的错误——这似乎不仅仅是 pyOpenSSL 的问题。

我能够通过在 Fedora 20 上安装 python-devel 包来修复它。根据this 问题的答案,python 标头是使用 pip 工具安装包所必需的(至少这似乎许多软件包都是如此)。

因为 Kali 似乎是一个基于 Debian 的发行版,所以您需要的软件包名称是 python-dev


让我知道这是否有效。

【讨论】:

  • 非常感谢您的回答,现在我的发行版还没有启动并运行,我会尽快尝试!
  • 我可以确认添加python-devel 有助于安装numpy。在 Ubuntu 上它将是 python-dev
猜你喜欢
  • 2013-09-10
  • 2017-09-19
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
相关资源
最近更新 更多