-
-
Notifications
You must be signed in to change notification settings - Fork 611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UnicodeDecodeError 'ascii' codec can't decode byte 0xe3 in position 66: ordinal not in range(128) #564
Comments
Same here |
in my case the error I found is coming from ansible, putting a print just before the line shows these filenames:
|
work around was to upgrade ansible manually and then continue using pip-tools |
I confirm that this problem can be reproduced by installing ansible via pip-compile. If ansible is already installed manually the problem does not happen. |
suutari-ai
pushed a commit
to suutari/prequ
that referenced
this issue
Sep 26, 2017
On Python 2, if a distribution package contains non-ASCII file names, the Resolver failed with the following UnicodeDecodeError, because RequirementSet was initialized with unicode paths rather than str. Fix this by making sure that the path components used in PyPIRepository are all filesystem encoded str. Drop the unicode_literals import from `_compat/tempfile.py`, because the strings used in there should also be str, not unicode. Also make sure that the InstallRequirement is always constructed from str, not unicode. Traceback of the error looked like this: Traceback (most recent call last): File ".../piptools/scripts/compile.py", line 184, in cli results = resolver.resolve(max_rounds=max_rounds) File ".../piptools/resolver.py", line 107, in resolve has_changed, best_matches = self._resolve_one_round() File ".../piptools/resolver.py", line 195, in _resolve_one_round for dep in self._iter_dependencies(best_match): File ".../piptools/resolver.py", line 274, in _iter_dependencies dependencies = self.repository.get_dependencies(ireq) File ".../piptools/repositories/pypi.py", line 145, in get_dependencies self._dependencies_cache[ireq] = reqset._prepare_file(self.finder, ireq) File ".../pip/req/req_set.py", line 620, in _prepare_file session=self.session, hashes=hashes) File ".../pip/download.py", line 821, in unpack_url hashes=hashes File ".../pip/download.py", line 663, in unpack_http_url unpack_file(from_path, location, content_type, link) File ".../pip/utils/__init__.py", line 605, in unpack_file untar_file(filename, location) File ".../pip/utils/__init__.py", line 551, in untar_file path = os.path.join(location, fn) File "/usr/local/lib/python2.7/posixpath.py", line 73, in join path += '/' + b UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 66: ordinal not in range(128) Fixes jazzband#564
This was referenced Sep 26, 2017
vphilippon
pushed a commit
to vphilippon/pip-tools
that referenced
this issue
Sep 26, 2017
On Python 2, if a distribution package contains non-ASCII file names, the Resolver failed with the following UnicodeDecodeError, because RequirementSet was initialized with unicode paths rather than str. Fix this by making sure that the path components used in PyPIRepository are all filesystem encoded str. Drop the unicode_literals import from `_compat/tempfile.py`, because the strings used in there should also be str, not unicode. Also make sure that the InstallRequirement is always constructed from str, not unicode. Traceback of the error looked like this: Traceback (most recent call last): File ".../piptools/scripts/compile.py", line 184, in cli results = resolver.resolve(max_rounds=max_rounds) File ".../piptools/resolver.py", line 107, in resolve has_changed, best_matches = self._resolve_one_round() File ".../piptools/resolver.py", line 195, in _resolve_one_round for dep in self._iter_dependencies(best_match): File ".../piptools/resolver.py", line 274, in _iter_dependencies dependencies = self.repository.get_dependencies(ireq) File ".../piptools/repositories/pypi.py", line 145, in get_dependencies self._dependencies_cache[ireq] = reqset._prepare_file(self.finder, ireq) File ".../pip/req/req_set.py", line 620, in _prepare_file session=self.session, hashes=hashes) File ".../pip/download.py", line 821, in unpack_url hashes=hashes File ".../pip/download.py", line 663, in unpack_http_url unpack_file(from_path, location, content_type, link) File ".../pip/utils/__init__.py", line 605, in unpack_file untar_file(filename, location) File ".../pip/utils/__init__.py", line 551, in untar_file path = os.path.join(location, fn) File "/usr/local/lib/python2.7/posixpath.py", line 73, in join path += '/' + b UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 66: ordinal not in range(128) Fixes jazzband#564
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Running pip-compile causes a UnicodeDecodeError
Environment Versions
Steps to replicate
pip-compile -U
Expected result
requirements.txt updated
Actual result
The text was updated successfully, but these errors were encountered: