Re: [Cryptography-dev] Linux CPython 3.8 version for cffi, bcrypt and PyNaCl

136 views
Skip to first unread message

Alex Gaynor

unread,
Nov 15, 2021, 8:59:07 PM11/15/21
to cryptogr...@python.org, pytho...@googlegroups.com
Cryptography already publishes abi3 wheels that cover all supported
versions of Python3:
https://cryptography.io/en/latest/faq/#why-are-there-no-wheels-for-my-python3-x-version

You likely need to upgrade your version of pip.

Alex

On Mon, Nov 15, 2021 at 8:57 PM Andrey Gusakov <a.n.g...@gmail.com> wrote:
>
> Hi guys,
>
> TL;DR I'm looking to have the -cp38-*linux* version of these packages in PyPI.
>
> As a part of building docker image, I need to install paramiko for Python 3.8. It results in building crypt, PyNaCl and cffi from sources. Every time I build it bloats build time from 10-13 secs to almost 3 minutes. I tried to figure out why it needs to be built from sources, and the reason seems to be there's no wheel for this combination of version and architecture in the pypi repository.
>
> The build process ends up with the following three versions, so I'd assume that (or manylinux version of them) is what I need:
>
> cffi-1.15.0-cp38-cp38-linux_x86_64.whl
> bcrypt-3.2.0-cp38-cp38-linux_x86_64.whl
> PyNaCl-1.4.0-cp38-cp38-linux_x86_64.whl
>
> So, would you mind adding them?
> I also assume that it will resurface every time there's a new version, since pip seems to prefer to build the latest version even if there's the wheel for the prior version (satisfying requirement). But I'm sure you know better how to deal with it.
>
> Thank you and let me know if you need more info or if there's a better approach to this.
>
> - Andrey
> _______________________________________________
> Cryptography-dev mailing list
> Cryptogr...@python.org
> https://mail.python.org/mailman/listinfo/cryptography-dev



--
All that is necessary for evil to succeed is for good people to do nothing.

Paul Kehrer

unread,
Nov 15, 2021, 9:01:36 PM11/15/21
to cryptogr...@python.org, pytho...@googlegroups.com
Tags with "linux" are disallowed to PyPI because they will not be
cross-compatible. The manylinux (and later musllinux) specifications
were created to allow binary distribution on Linux and cryptography
uploads wheels for many permutations of that.

cffi has slightly different restrictions (it cannot ship abi3 wheels,
unlike cryptography), but also ships manylinux wheels for many
versions. The most likely scenario here is that you need to upgrade
your version of pip to the latest so that it correctly detects and
downloads wheels. However, if you are somehow on an unsupported
platform, building will be your only option (although there you could
do it as a staged build and cache the generated artifacts for reuse in
your own pipelines).

-Paul
Reply all
Reply to author
Forward
0 new messages