Search code examples
pythonpython-modulepyopenssl

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 35: ordinal not in range(128)


I'm trying to install pyopenssl v 0.13.1 on my kali linux distro.

when I do:

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

....

it returns this error:

----------------------------------------
  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)

What can i try now?

thanks!


Solution

  • I experienced almost identical errors while trying to install the leveldb package, and the numpy package--this doesn't just seem to be a problem with pyOpenSSL.

    I was able to fix it by installing the python-devel package on Fedora 20. According to the answer to this question, the python headers are necessary to install packages using the pip tool (at least this seems to be the case for many packages).

    Since Kali seems to be a Debian-based distro, the name of the package you'll want is python-dev.


    Let me know if this works.