[Python-modules-team] Bug#962654: pip fails to install cryptography on pypy3

chrysn chrysn at fsfe.org
Thu Jun 11 11:55:43 BST 2020


Package: python3-pip
Version: 20.1.1-2
Severity: normal

In pypy3 venvs, installing the cryptography package fails. As replacing
pip with the upstream pip makes things work, and because the whole
situation looks similar to #955414 / #954256 (where I found the
workaround), there is reason to assume this is relating to Debian
customizations in pip.

As some things in the process spill out of the virtualenv (if you repeat
step env1 later as an env3, it will work -- something of the
cryptography installation spills to the outside), the steps to reproduce
are described using a cowbuilder:

$ sudo cowbuilder --create --distribution bullseye --basepath /var/cache/pbuilder/base-bullseye.cow
$ sudo cowbuilder --login --basepath /var/cache/pbuilder/base-bullseye.cow
# apt-get -y install build-essential python3-dev libssl-dev autoconf pypy3 pypy3-dev python3-pip python3-virtualenv
# pip --version
pip 20.1.1 from /usr/lib/python3/dist-packages/pip (python 3.8)
# python3 -m virtualenv --python pypy3 /tmp/pypy3env1
# bash
# source /tmp/pypy3env1/bin/activate
(pypy3env1) # pip --version
pip 20.1.1 from /tmp/pypy3env1/site-packages/pip (python 3.6)
(pypy3env1) # pip install cryptography

> Collecting cryptography
>   Downloading cryptography-2.9.2.tar.gz (517 kB)
>      |################################| 517 kB 1.7 MB/s 
>   Installing build dependencies ... done
>   Getting requirements to build wheel ... error
>   ERROR: Command errored out with exit status 1:
>    command: /tmp/pypy3env1/bin/pypy3 /usr/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpe4kquiyd
>        cwd: /tmp/pip-install-fv5voxu0/cryptography
>   Complete output (1 lines):
>   /tmp/pypy3env1/bin/pypy3: can't find '__main__' module in '/usr/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl/pep517/_in_process.py'
>   ----------------------------------------
> ERROR: Command errored out with exit status 1: /tmp/pypy3env1/bin/pypy3 /usr/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpe4kquiyd Check the logs for full command output.

(pypy3env1) # exit
# python3 -m virtualenv --python pypy3 /tmp/pypy3env2
# bash
# source /tmp/pypy3env2/bin/activate
(pypy3env2) # pypy3 -m pip install --force-reinstall pip
(pypy3env2) # pip --version
pip 20.1.1 from /tmp/pypy3env2/site-packages/pip (python 3.6)
(pypy3env2) # pip install cryptography

This succeeds and results in a working installation of cryptograph (as
well as -- as a note to anyone struggling with getting repeatable
results out of such a situation -- an artefact in ~/.local that causes
future runs to work even with the Debian pip).

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.6.0-1-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_CRAP, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-pip depends on:
ii  ca-certificates     20200601
ii  python-pip-whl      20.1.1-2
ii  python3             3.8.2-3
ii  python3-distutils   3.8.3-2
ii  python3-setuptools  46.1.3-1
ii  python3-wheel       0.34.2-1

Versions of packages python3-pip recommends:
ii  build-essential  12.8
ii  python3-dev      3.8.2-3

python3-pip suggests no packages.

-- no debconf information

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20200611/c6d0c07a/attachment.sig>


More information about the Python-modules-team mailing list