Python 2.7 : LookupError: unknown encoding: cp65001

Question:

I have installed python 2(64 bit), on windows 8.1 (64 bit) and wanted to know pip version and for that I fired pip --version but it is giving error.

    C:UsersADMIN>pip --version
Traceback (most recent call last):
  File "c:devpython27librunpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:devpython27librunpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:devPython27Scriptspip.exe__main__.py", line 5, in <module>
  File "c:devpython27libsite-packagespip__init__.py", line 15, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "c:devpython27libsite-packagespipvcsmercurial.py", line 10, in <module>
    from pip.download import path_to_url
  File "c:devpython27libsite-packagespipdownload.py", line 35, in <module>
    from pip.utils.ui import DownloadProgressBar, DownloadProgressSpinner
  File "c:devpython27libsite-packagespiputilsui.py", line 51, in <module>
    _BaseBar = _select_progress_class(IncrementalBar, Bar)
  File "c:devpython27libsite-packagespiputilsui.py", line 44, in _select_progress_class
    six.text_type().join(characters).encode(encoding)
LookupError: unknown encoding: cp65001

Note : The same command works fine for python 3. I have uninstalled both and installed again but still no success.

Asked By: Himanshu Bhandari

||

Answers:

First of all you need to upgrade your pip.
You can do this in Windows by:

python -m pip install -U pip

Then go manually to your script folder, enter command line from that folder (you can do this by clicking shift + right mouse button -> Open console window), and then you should use one of this commands.

pip -V
pip --version

This will result in

pip 7.1.2 from c:python27libsite-packages (python 2.7)

If you still have trouble, you can try to remove your current Python PATH, and add a new one to Python 2.7.

Answered By: user5864559

The error means that Unicode characters that your script are trying to print can’t be represented using the current console character encoding.

Also try to run set PYTHONIOENCODING=UTF-8 after execute pip –version without reloading terminal if everything going well add PYTHONIOENCODING as env variable with value UTF-8. See How to set the path and environment variables in Windows article to get info how to add Windows variable.

NOTE: For PowerShell use $env:PYTHONIOENCODING = "UTF-8"

Also you can try to install win-unicode-console with pip:

pip install win-unicode-console

Then reload your terminal and try to execute pip --version

However you can follow suggestions from Windows cmd encoding change causes Python crash answer because you have same problem.

Answered By: Andriy Ivaneyko
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.