question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

UnicodeDecodeError When trying to install something with pip2

See original GitHub issue
C:\Users\Andrey>pip2 install scrapy
Collecting scrapy
Exception:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\pip\basecommand.py", line 223, in main
    status = self.run(options, args)
  File "C:\Python27\lib\site-packages\pip\commands\install.py", line 280, in run

    requirement_set.prepare_files(finder)
  File "C:\Python27\lib\site-packages\pip\req\req_set.py", line 317, in prepare_
files
    functools.partial(self._prepare_file, finder))
  File "C:\Python27\lib\site-packages\pip\req\req_set.py", line 304, in _walk_re
q_to_install
    more_reqs = handler(req_to_install)
  File "C:\Python27\lib\site-packages\pip\req\req_set.py", line 439, in _prepare
_file
    req_to_install.populate_link(finder, self.upgrade)
  File "C:\Python27\lib\site-packages\pip\req\req_install.py", line 244, in popu
late_link
    self.link = finder.find_requirement(self, upgrade)
  File "C:\Python27\lib\site-packages\pip\index.py", line 486, in find_requireme
nt
    all_versions = self._find_all_versions(req.name)
  File "C:\Python27\lib\site-packages\pip\index.py", line 404, in _find_all_vers
ions
    index_locations = self._get_index_urls_locations(project_name)
  File "C:\Python27\lib\site-packages\pip\index.py", line 378, in _get_index_url
s_locations
    page = self._get_page(main_index_url)
  File "C:\Python27\lib\site-packages\pip\index.py", line 810, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "C:\Python27\lib\site-packages\pip\index.py", line 920, in get_page
    "Cache-Control": "max-age=600",
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\sessions.py", line 47
7, in get
    return self.request('GET', url, **kwargs)
  File "C:\Python27\lib\site-packages\pip\download.py", line 373, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\sessions.py", line 46
5, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\sessions.py", line 60
5, in send
    r.content
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\models.py", line 750,
 in content
    self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes
()
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\models.py", line 673,
 in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\resp
onse.py", line 307, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "C:\Python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\resp
onse.py", line 243, in read
    data = self._fp.read(amt)
  File "C:\Python27\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py",
line 54, in read
    self.__callback(self.__buf.getvalue())
  File "C:\Python27\lib\site-packages\pip\_vendor\cachecontrol\controller.py", l
ine 244, in cache_response
    self.serializer.dumps(request, response, body=body),
  File "C:\Python27\lib\site-packages\pip\download.py", line 276, in set
    return super(SafeFileCache, self).set(*args, **kwargs)
  File "C:\Python27\lib\site-packages\pip\_vendor\cachecontrol\caches\file_cache
.py", line 99, in set
    with self.lock_class(name) as lock:
  File "C:\Python27\lib\site-packages\pip\_vendor\lockfile\mkdirlockfile.py", li
ne 18, in __init__
    LockBase.__init__(self, path, threaded, timeout)
  File "C:\Python27\lib\site-packages\pip\_vendor\lockfile\__init__.py", line 18
9, in __init__
    hash(self.path)))
  File "C:\Python27\lib\ntpath.py", line 85, in join
    result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 0: ordinal
not in range(128)

Crash happening on this join at site-packages\pip_vendor\lockfile__init__.py:

self.unique_name = os.path.join(dirname,
                                        "%s%s.%s%s" % (self.hostname,
                                                       self.tname,
                                                       self.pid,
                                                       hash(self.path)))

hostname, tname, pid, path before crash:

('\xcf\xca', '-2b24', 11924, u'c:\\users\\andrey\\appdata\\local\\pip\\cache\\h
tp\\b\\9\\e\\6\\f\\b9e6fc103d2676598ac31ba30018a5110b859143b5cb8105c3666ca2')

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Comments:13 (8 by maintainers)

github_iconTop GitHub Comments

3reactions
Choumingzhaocommented, Feb 27, 2017

I got the same error in Python2.7.13 on Windows 10 with my username setting to Chinese, and the problem is solved with following coding adding to site-packages\pip_vendor\lockfile\__init__.py right after all other import lines.( code are copied from stackoverflow and some small edit)

import sys
# While sys.setdefaultencoding() return "utf-8" in python3 in my PC
# it return "ascii" in python2, so I changed it to OEM(GBK for me)
reload(sys)  # Reload does the trick!
sys.setdefaultencoding('GBK')  #  you could try it with your OEM encoding.

But some packages depends on Microsoft Visual C++ compilers still failed with encoding problem, so I do the same to the file site-packages\setuptools\msvc.py and it worked !

If problems are not solved with the trick above, maybe you can try this.

0reactions
no-response[bot]commented, May 15, 2020

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don’t have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

Read more comments on GitHub >

github_iconTop Results From Across the Web

pip install UnicodeDecodeError - python - Stack Overflow
When I'm trying to install beautifulsoup4 on ...
Read more >
python3 setup unicode error - Google Groups
I've tried to install Theano under python 3.3.4, and get the following error: gpc-f102n084-ib0-$ pip install --install-option="--prefix=${HOME}" --no-deps ...
Read more >
UnicodeDecodeError: While installing gdal in a new Python ...
I was trying to create a Python Virtual Environment for some initial GIS development. I installed pip and virtualenv and then tried the ......
Read more >
In my ubuntu 22.04 pip install gives me UnicodeDecodeError ...
I just debugged codec.py in /usr/lib/python3.9/codecs.py . It seems to be receiving some invalid data. enter image description here.
Read more >
Pip Install with Docker and Fixing the ascii decode error
When trying to install python packages with pip inside a Docker container, you may get an error like: UnicodeDecodeError: 'ascii' codec ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found