-
Notifications
You must be signed in to change notification settings - Fork 186
Open
Labels
tech debtNon-user-visible improvement to code or development processNon-user-visible improvement to code or development process
Description
Tech Debt
The unit tests are passing with Python 3.14t on a GitHub-hosted runner, but adding a py314t-base
Tox env to the system tests produces NumPy import errors:
py314t-base: freeze> python -m pip freeze --all
py314t-base: pip==25.1.1
py314t-base: commands[0]> poetry run python --version
Python 3.14.0
py314t-base: commands[1]> poetry run python -VV
Python 3.14.0 free-threading build (tags/v3.14.0:ebf955d, Oct 7 2025, 10:13:09) [MSC v.1944 64 bit (AMD64)]
py314t-base: commands[2]> poetry install -v --only main,test
Using virtualenv: C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base
Checking keyring availability: Available
Installing dependencies from lock file
Finding the necessary packages for the current system
Package operations: 34 installs, 0 updates, 0 removals, 2 skipped
- Installing colorama (0.4.6)
- Installing distlib (0.4.0)
- Installing filelock (3.18.0)
- Installing iniconfig (2.1.0)
- Installing packaging (25.0)
- Installing platformdirs (4.3.8)
- Installing pluggy (1.6.0)
- Installing pygments (2.19.2)
- Installing cachetools (6.1.0)
- Installing certifi (2025.7.14)
- Installing coverage (7.10.7)
- Installing chardet (5.2.0)
- Installing charset-normalizer (3.4.2)
- Installing hightime (0.2.2)
- Installing idna (3.10)
- Installing numpy (2.3.3)
- Installing py-cpuinfo (9.0.0)
- Installing pyproject-api (1.9.1)
- Installing pytest (8.4.2)
- Installing typing-extensions (4.15.0)
- Installing tzdata (2025.2)
- Installing urllib3 (2.5.0)
- Installing virtualenv (20.32.0)
- Installing click (8.2.1)
- Installing deprecation (2.1.0)
- Installing grpcio (1.75.1): Skipped for the following reason: Not required
- Installing nitypes (0.1.0.dev10)
- Installing protobuf (6.32.1): Skipped for the following reason: Not required
- Installing pykka (4.2.0)
- Installing pytest-benchmark (5.1.0)
- Installing pytest-cov (7.0.0)
- Installing pytest-mock (3.15.1)
- Installing python-decouple (3.8)
- Installing requests (2.32.5)
- Installing tox (4.30.2)
- Installing tzlocal (5.3.1)
Installing the current project: nidaqmx (1.3.0-dev1)
py314t-base: commands[3]> poetry run python -c "from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')"
Traceback (most recent call last):
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\_core\__init__.py", line 22, in <module>
from . import multiarray
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\_core\multiarray.py", line 11, in <module>
from . import _multiarray_umath, overrides
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\_core\overrides.py", line 5, in <module>
from numpy._core._multiarray_umath import (
...<3 lines>...
)
ModuleNotFoundError: No module named 'numpy._core._multiarray_umath'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\__init__.py", line 125, in <module>
from numpy.__config__ import show_config
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\__config__.py", line 4, in <module>
from numpy._core._multiarray_umath import (
...<3 lines>...
)
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\_core\__init__.py", line 48, in <module>
raise ImportError(msg) from exc
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.14 from "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Scripts\python.exe"
* The NumPy version is: "2.3.3"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: No module named 'numpy._core._multiarray_umath'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<string>", line 1, in <module>
from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\generated\nidaqmx\__init__.py", line 11, in <module>
from nidaqmx.scale import Scale
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\generated\nidaqmx\scale.py", line 3, in <module>
import numpy
File "C:\ar\_work\nidaqmx-python\nidaqmx-python\.tox\py314t-base\Lib\site-packages\numpy\__init__.py", line 130, in <module>
raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python interpreter from there.
py314t-base: exit 1 (1.62 seconds) C:\ar\_work\nidaqmx-python\nidaqmx-python> poetry run python -c "from nidaqmx._lib import lib_importer; print(f'Library: {lib_importer.windll._library._name}\nLibrary encoding: {lib_importer.encoding}')" pid=7076
py314t-base: FAIL ✖ in 19.48 seconds
I tried installing Python 3.14 w/ Include_freethreading=1
locally and got the same results, both with Tox and with poetry run pytest -v
when Poetry is using 3.11.9 and the project venv is using 3.14.0t.
I did get the tests to run when using 3.14.0t for both Poetry and the project venv, though.
Metadata
Metadata
Assignees
Labels
tech debtNon-user-visible improvement to code or development processNon-user-visible improvement to code or development process