Python 2.7 : LookupError: unknown encoding: cp65001
PythonPython 2.7EncodingPipPython Problem Overview
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:\Users\ADMIN>pip --version
Traceback (most recent call last):
File "c:\dev\python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "c:\dev\python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\dev\Python27\Scripts\pip.exe\__main__.py", line 5, in <module>
File "c:\dev\python27\lib\site-packages\pip\__init__.py", line 15, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "c:\dev\python27\lib\site-packages\pip\vcs\mercurial.py", line 10, in <module>
from pip.download import path_to_url
File "c:\dev\python27\lib\site-packages\pip\download.py", line 35, in <module>
from pip.utils.ui import DownloadProgressBar, DownloadProgressSpinner
File "c:\dev\python27\lib\site-packages\pip\utils\ui.py", line 51, in <module>
_BaseBar = _select_progress_class(IncrementalBar, Bar)
File "c:\dev\python27\lib\site-packages\pip\utils\ui.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.
Python Solutions
Solution 1 - Python
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 https://stackoverflow.com/questions/878972/windows-cmd-encoding-change-causes-python-crash?answertab=active#tab-top answer because you have same problem.
Solution 2 - Python
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:\python27\lib\site-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.