UnicodeDecodeError:'ascii' 编码无法解码位置 35 的字节 0xe2:超出范围(128)

1 投票
1 回答
7167 浏览
提问于 2025-04-18 07:56

我正在我的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)

我现在可以尝试什么呢?

谢谢!

1 个回答

4

我在尝试安装leveldb和numpy这两个包时,遇到了几乎一样的错误,这似乎不仅仅是pyOpenSSL的问题。

我通过在Fedora 20上安装python-devel包解决了这个问题。根据这个问题的回答,安装使用pip工具的包时需要python的头文件(至少对很多包来说是这样的)。

由于Kali是基于Debian的系统,你需要安装的包叫python-dev


如果这个方法有效,请告诉我。

撰写回答