Skip to content

System tests fail because psutil >=7.1.2 no longer distributes binary wheels for Windows x86 #1262

@bkeryan

Description

@bkeryan

Bug Report

Updating to the latest psutil failed because it doesn't have binary wheels for 32-bit Windows ( giampaolo/psutil#2657 ) and the self-hosted runner we use for system tests doesn't have Visual Studio installed.

Repro or Code Sample

#1259 (comment)

Expected Behavior

Tests pass

Current Behavior

PEP517 build of a dependency failed

Backend subprocess exited when trying to invoke build_wheel

    | Command '['C:\\Users\\ec2-user\\AppData\\Local\\Temp\\tmp2yaxc_cr\\.venv\\Scripts\\python.exe', 'C:\\Program Files\\pypoetry\\Lib\\site-packages\\pyproject_hooks\\_in_process\\_in_process.py', 'build_wheel', 'C:\\Users\\ec2-user\\AppData\\Local\\Temp\\tmp7xwhnsmw']' returned non-zero exit status 1.
    | 
    | running bdist_wheel

    | running build

    | running build_py

    | creating build\lib.win32-cpython-314\psutil

    | copying psutil\_common.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_psaix.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_psbsd.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_pslinux.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_psosx.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_psposix.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_pssunos.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\_pswindows.py -> build\lib.win32-cpython-314\psutil

    | copying psutil\__init__.py -> build\lib.win32-cpython-314\psutil

    | creating build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_aix.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_bsd.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_connections.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_contracts.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_linux.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_memleaks.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_misc.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_osx.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_posix.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_process.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_process_all.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_scripts.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_sudo.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_sunos.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_system.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_testutils.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_unicode.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\test_windows.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\__init__.py -> build\lib.win32-cpython-314\psutil\tests

    | copying psutil\tests\__main__.py -> build\lib.win32-cpython-314\psutil\tests

    | running build_ext

    | building 'psutil._psutil_windows' extension

    | error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

Note: This error originates from the build backend, and is likely not a problem with poetry but one of the following issues with psutil (7.1.3)

  - not supporting PEP 517 builds
  - not specifying PEP 517 build requirements correctly
  - the build requirements are incompatible with your operating system or Python version
  - the build requirements are missing system dependencies (eg: compilers, libraries, headers).

You can verify this by running pip wheel --no-cache-dir --use-pep517 "psutil (==7.1.3)".

Possible Solution

Install Visual Studio on measlinkbot

Context

Dependency update

Your Environment

  • OS & Device: Windows
  • ni-measurement-plugin-sdk-service version: main
  • InstrumentStudio version: N/A
  • Python version: 3.14.0

AB#3459405

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions