Legrandin / pycryptodome

A self-contained cryptographic library for Python
https://www.pycryptodome.org
Other
2.84k stars 503 forks source link

3.9.9: Missing wheels for Windows #465

Closed vphilippon closed 4 years ago

vphilippon commented 4 years ago

Hello!

The Windows wheels (win32 and win_amd64) are missing on pypi.

Since the 3.9.9 changelog states that it added the build for Windows Py3.9 wheels, I assume that's something not intended to be missing :). I'm personally depending on the pycryptodomex py2.7 win32 wheels.

Cheers!

Legrandin commented 4 years ago

Thanks for flagging. This is fixed now.

Vangelis66 commented 3 years ago

Hello 😄 ; apologies for commenting on a closed issue, but this seemed to me to be the best place to post on...

Quite recently, I had to build locally (pyInstaller) a Python project (yt-dlp) which has pycryptodome as an optional (but desired) dependency... The 32-bit executable is built on Python 3.4.x, so that compatibility with Windows XP SP3 x86 is retained! 👍 OTOH, the 64-bit executable is compiled on Python 3.8.x x64, so that compatibility with at least Windows 7 SP1 x64 is kept...

The last version of pycryptodome to support py3.4 was 3.9.9; but no pycryptodome-3.9.9-cp34-cp34m-win32.whl wheel file is, apparently, present currently on PyPi 😢 : https://pypi.org/project/pycryptodome/3.9.9/#files The devs of the project (GitHub Actions), as well as users who wish to compile locally on py3.4 have currently to compile from 3.9.9 source; this means installing on their Windows machines a suitable C/C++ compiler (py3.4 is built with VS2010), something not very popular among simple users...

However, the last cp34-cp34m-win32 pycryptodome wheel hosted currently on PyPi is for much older version 3.9.4 and the devs of yt-dlp, after my suggestion, have reverted to using wheels and python -m pip install pycryptodome==3.9.4 for building youtube-dlc_x86.exe:

https://github.com/pukkandan/yt-dlp/blob/55e36f035cff0b7b75118930bb7bd03a75ffd534/.github/workflows/build.yml#L131

Be that as it may, I was not feeling 100% comfortable with that compromise, so I took the initiative of compiling and producing myself a pycryptodome-3.9.9-cp34-cp34m-win32.whl that could be used for the project in lieu of the much older pycryptodome-3.9.4-cp34-cp34m-win32.whl one now being used...

Host was my Vista SP2 32-bit laptop; Python was v3.4.10[EoL of py3.4] x86 (third party installer from here); Additional packages installed: python -m pip list =>

Package        Version
-------------- ---------
altgraph       0.17
future         0.18.2
mutagen        1.42.0
pefile         2019.4.18
pip            19.1.1
PyInstaller    3.5
pywin32-ctypes 0.2.0
setuptools     43.0.0
wheel          0.33.6

C compiler was Microsoft Visual C++ 2010 Express, v10.0.30319.1 The above versions of pip, setuptools, wheel successfully created the sought-after wheel file 🎉 ; I have zipped it and uploaded it below as an issue attachment:

-- REDACTED --

Following is the link to its Virus Total scan (1/60): https://www.virustotal.com/gui/file/294d5f295b50b28958d8cbf825c43fdf3aec44c19270a8d3b7d2157c12e683d5/detection

Would you kindly explore the possibility of uploading to PyPI, please?

Many thanks for maintaining a current drop-in replacement for the abandoned/dead pycrypto package 👍 , best wishes 😄

12/08/2021 EDIT:

pycryptodome-3.9.9-cp34-cp34m-win32.whl.zip attachment removed; author now provides his own, via PyPI 👍 :

https://pypi.org/project/pycryptodome/3.9.9/#files

Legrandin commented 3 years ago

@Vangelis66, I am afraid I can't upload on PyPI wheels which I didn't build myself. So I went ahead and built them (v3.9.9 for Python 3.4 on Win32). You should be able to find it in PyPI.