3

On my Windows machine, when I build the cryptography package using the instructions on this page, I end up with these .pyd files in the wheel:

  • _openssl.cp35-win32.pyd
  • _constant_time.cp35-win32.pyd
  • _padding.cp35-win32.pyd

Based on already built wheels on PyPI, I was expecting these names for the files instead:

  • _openssl.pyd
  • _constant_time.pyd
  • _padding.pyd

Do you know why I end up with cp35-win32 in the file names? It is currently a problem because I have import errors inside the cryptography code which are related to this name difference:

  File "c:\long_path_prefix\.tox\lt\lib\site-packages\cryptography\hazmat\backends\openssl\__init__.py", line 7, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "c:\long_path_prefix\.tox\lt\lib\site-packages\cryptography\hazmat\backends\openssl\backend.py", line 51, in <module>
    from cryptography.hazmat.bindings._openssl import ffi as _ffi
ImportError: DLL load failed: The specified module could not be found.

Have a good day!

GDICommander
  • 1,273
  • 3
  • 15
  • 27

1 Answers1

3

These tags are based on pep 427.

They are added by default depending on the platform the wheel was built on.

In your case, you built your wheel on win32 and it is compatible with CPython3.5.

David
  • 9,635
  • 5
  • 62
  • 68
  • 1
    This is indeed compliant to PEP 427. However, it seems to cause problems to the import statements inside the `cryptography` code. I have updated the original question to include the stack trace of the import error. – GDICommander Apr 12 '17 at 19:01