Skip to content
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 when attrs in requirements.txt #19

Open
local-minimum opened this issue Jun 26, 2018 · 1 comment
Open

UnicodeDecodeError when attrs in requirements.txt #19

local-minimum opened this issue Jun 26, 2018 · 1 comment

Comments

@local-minimum
Copy link

local-minimum commented Jun 26, 2018

I'm attempting to use py2deb for a python 3 project and I run into the following error:

root@547626b5656f:/test# py2deb -r /tmp -- -r requirements.txt 
2018-06-26 13:00:01 547626b5656f pip_accel[7224] INFO Unpacking distribution(s) ..
2018-06-26 13:00:01 547626b5656f pip_accel[7224] INFO Executing command: pip install --download=/var/cache/pip-accel/sources --find-links=file:///var/cache/pip-accel/sources --no-binary=:all: --no-index --no-clean --build-directory=/tmp/pip-accel-build-dir-pfxjgqit --ignore-installed -r requirements.txt
2018-06-26 13:00:01 547626b5656f pip.commands.install[7224] INFO Ignoring indexes: https://pypi.python.org/simple
2018-06-26 13:00:01 547626b5656f pip.req.req_set[7224] INFO Collecting attrs==18.1.0 (from -r requirements.txt (line 1))
2018-06-26 13:00:01 547626b5656f pip.download[7224] INFO File was already downloaded /var/cache/pip-accel/sources/attrs-18.1.0.tar.gz
2018-06-26 13:00:02 547626b5656f pip.commands.install[7224] INFO Successfully downloaded attrs
2018-06-26 13:00:02 547626b5656f pip_accel[7224] INFO Finished unpacking 1 distribution in 0.32 seconds.
2018-06-26 13:00:02 547626b5656f py2deb.cli[7224] ERROR Caught an unhandled exception!
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pkginfo/sdist.py", line 70, in read
    return f.read()
  File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4233: ordinal not in range(128)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/py2deb/cli.py", line 200, in main
    archives, relationships = converter.convert(arguments)
  File "/usr/local/lib/python3.5/dist-packages/py2deb/converter.py", line 546, in convert
    archive = package.convert()
  File "/usr/local/lib/python3.5/dist-packages/py2deb/package.py", line 415, in convert
    maintainer=self.debian_maintainer,
  File "/usr/local/lib/python3.5/dist-packages/cached_property.py", line 35, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/usr/local/lib/python3.5/dist-packages/py2deb/package.py", line 130, in debian_maintainer
    maintainer = self.metadata.maintainer
  File "/usr/local/lib/python3.5/dist-packages/cached_property.py", line 35, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/usr/local/lib/python3.5/dist-packages/py2deb/package.py", line 169, in metadata
    return UnpackedSDist(self.find_egg_info_file())
  File "/usr/local/lib/python3.5/dist-packages/pkginfo/sdist.py", line 65, in __init__
    filename, metadata_version=metadata_version)
  File "/usr/local/lib/python3.5/dist-packages/pkginfo/sdist.py", line 12, in __init__
    self.extractMetadata()
  File "/usr/local/lib/python3.5/dist-packages/pkginfo/distribution.py", line 108, in extractMetadata
    data = self.read()
  File "/usr/local/lib/python3.5/dist-packages/pkginfo/sdist.py", line 73, in read
    % (self.filename, e))
ValueError: Could not load /tmp/pip-accel-build-dir-pfxjgqit/attrs/pip-egg-info/attrs.egg-info/ as an unpacked sdist: 'ascii' codec can't decode byte 0xe2 in position 4233: ordinal not in range(128)

To reproduce make an empty project that just has the requirements.txt and no python code at all.

The contents of requirements.txt:

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file requirements.txt requirements.in
#
attrs==18.1.0

And for reference:

root@547626b5656f:/test# pip -V
pip 7.1.2 from /usr/local/lib/python3.5/dist-packages (python 3.5)

Attempting the same but for one of the other requirements such as pymongo==3.5.1 works fine.

This was run inside an Ubuntu 16.04 and a Ubuntu 18.04 docker image.

The build/install steps inside the container:

mkdir builds
apt update
apt install -y python3-pip dpkg-dev fakeroot libpq-dev
pip3 install py2deb
py2deb -r ./builds -- -r requirements.txt
@heschlie
Copy link

I seem to be getting the same error when idna is a requirement:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/pkginfo/sdist.py", line 70, in read
    return f.read()
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 609: ordinal not in range(128)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/py2deb/cli.py", line 200, in main
    archives, relationships = converter.convert(arguments)
  File "/usr/local/lib/python3.6/dist-packages/py2deb/converter.py", line 546, in convert
    archive = package.convert()
  File "/usr/local/lib/python3.6/dist-packages/py2deb/package.py", line 415, in convert
    maintainer=self.debian_maintainer,
  File "/usr/local/lib/python3.6/dist-packages/cached_property.py", line 35, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/usr/local/lib/python3.6/dist-packages/py2deb/package.py", line 130, in debian_maintainer
    maintainer = self.metadata.maintainer
  File "/usr/local/lib/python3.6/dist-packages/cached_property.py", line 35, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/usr/local/lib/python3.6/dist-packages/py2deb/package.py", line 169, in metadata
    return UnpackedSDist(self.find_egg_info_file())
  File "/usr/local/lib/python3.6/dist-packages/pkginfo/sdist.py", line 65, in __init__
    filename, metadata_version=metadata_version)
  File "/usr/local/lib/python3.6/dist-packages/pkginfo/sdist.py", line 12, in __init__
    self.extractMetadata()
  File "/usr/local/lib/python3.6/dist-packages/pkginfo/distribution.py", line 108, in extractMetadata
    data = self.read()
  File "/usr/local/lib/python3.6/dist-packages/pkginfo/sdist.py", line 73, in read
    % (self.filename, e))
ValueError: Could not load /tmp/pip-accel-build-dir-8u96bxpo/idna/pip-egg-info/idna.egg-info/ as an unpacked sdist: 'ascii' codec can't decode byte 0xe2 in position 609: ordinal not in range(128)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants