Skip to content

_cext.pyd depends on MSVCP140.dll, which is not distributed #187

@LordAro

Description

@LordAro

Version: 1.4.7

_cext.pyd still depends MSVCP140.dll, even though this was supposed to have been fixed by #179 (?)

$ python3.12 -m pip download kiwisolver
Collecting kiwisolver
  Using cached kiwisolver-1.4.7-cp312-cp312-win_amd64.whl.metadata (6.4 kB)
Using cached kiwisolver-1.4.7-cp312-cp312-win_amd64.whl (55 kB)
Saved c:\foo\kiwisolver-1.4.7-cp312-cp312-win_amd64.whl
Successfully downloaded kiwisolver

$ file kiwisolver-1.4.7-cp312-cp312-win_amd64.whl
kiwisolver-1.4.7-cp312-cp312-win_amd64.whl: Zip archive data, at least v2.0 to extract, compression method=deflate

$ unzip kiwisolver-1.4.7-cp312-cp312-win_amd64.whl
Archive:  kiwisolver-1.4.7-cp312-cp312-win_amd64.whl
  inflating: kiwisolver/__init__.py
  inflating: kiwisolver/_cext.cp312-win_amd64.pyd
  inflating: kiwisolver/_cext.pyi
  inflating: kiwisolver/exceptions.py
  inflating: kiwisolver/py.typed
  inflating: kiwisolver-1.4.7.dist-info/LICENSE
  inflating: kiwisolver-1.4.7.dist-info/METADATA
  inflating: kiwisolver-1.4.7.dist-info/WHEEL
  inflating: kiwisolver-1.4.7.dist-info/top_level.txt
  inflating: kiwisolver-1.4.7.dist-info/RECORD

$ objdump -p kiwisolver/_cext.cp312-win_amd64.pyd | grep DLL
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: MSVCP140.dll
        DLL Name: python312.dll
        DLL Name: KERNEL32.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-stdio-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll

Found by installing Python in Windows Sandbox and trying to import matplotlib. Matplotlib (3.9.2) does not depend on these external dependencies

Matplotlib deps
$ find matplotlib -name '*.pyd' -print -exec sh -c 'objdump -p {} | grep DLL' \;
matplotlib/backends/_backend_agg.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll
matplotlib/backends/_tkagg.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: COMCTL32.dll
        DLL Name: PSAPI.DLL
        DLL Name: python312.dll
        DLL Name: KERNEL32.dll
        DLL Name: VCRUNTIME140_1.dll
matplotlib/ft2font.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-stdio-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-locale-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: api-ms-win-crt-utility-l1-1-0.dll
        DLL Name: api-ms-win-crt-convert-l1-1-0.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll
matplotlib/_c_internal_utils.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: ole32.dll
        DLL Name: SHELL32.dll
        DLL Name: USER32.dll
        DLL Name: python312.dll
        DLL Name: KERNEL32.dll
        DLL Name: VCRUNTIME140_1.dll
matplotlib/_image.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll
matplotlib/_path.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll
matplotlib/_qhull.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-stdio-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: api-ms-win-crt-utility-l1-1-0.dll
        DLL Name: api-ms-win-crt-time-l1-1-0.dll
        DLL Name: api-ms-win-crt-convert-l1-1-0.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll
matplotlib/_tri.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-stdio-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: api-ms-win-crt-locale-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: api-ms-win-crt-filesystem-l1-1-0.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll
matplotlib/_ttconv.cp312-win_amd64.pyd
        DLL
 vma:            Hint    Time      Forward  DLL       First
        DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
        DLL Name: api-ms-win-crt-heap-l1-1-0.dll
        DLL Name: api-ms-win-crt-string-l1-1-0.dll
        DLL Name: api-ms-win-crt-math-l1-1-0.dll
        DLL Name: VCRUNTIME140.dll
        DLL Name: python312.dll
        DLL Name: api-ms-win-crt-stdio-l1-1-0.dll
        DLL Name: VCRUNTIME140_1.dll
        DLL Name: KERNEL32.dll

Apologies if this counts as a duplicate of #168 or #181 (or the others), but the messaging in those issues seemed... muddy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions