python-OBD icon indicating copy to clipboard operation
python-OBD copied to clipboard

Import problem with Numpy2.0.1

Open Qooniee opened this issue 1 year ago • 4 comments

Version Information

  • Numpy version: 2.0.1
  • Python version: 3.10.3
  • python obd version: 0.7.2

Problem Details

An error occurs when importing the obd module: AttributeError: module 'numpy' has no attribute 'cumproduct'

Expected Behavior

The obd module should import without errors.

Actual Behavior

An AttributeError occurs, indicating that the cumproduct function does not exist in the current version of numpy.

When I use numpy==1.26.4, I can import obd because numpy has np.cumproduct. You can replace np.cumproduct with np.cumprod.

Qooniee avatar Aug 13 '24 15:08 Qooniee

got the same issue

Lauwy222 avatar Aug 20 '24 09:08 Lauwy222

Same problem here with:

Python 3.10.12 numpy 2.1.0 obd 0.7.2

theaircrasher avatar Sep 03 '24 07:09 theaircrasher

Fixed the Problem!

Python 3.11.9 obd 0.7.2 numpy 2.0.1

Go to C:\Users{YOUR-USER}\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\pint\facets\numpy\numpy_func.py

Replace line 884 with: for func_str in ["cumprod", "nancumprod"]:

Derek-Shannon avatar Sep 16 '24 18:09 Derek-Shannon

It is fixed in more recent versions of pint [1]. We just need to bump the requirements in python_OBD. If you change setup.py and require pint>=0.24.4, build and install, it works fine (uninstall old pint first).

[1] https://pypi.org/project/Pint/

davrandom avatar Nov 15 '24 15:11 davrandom