vilemduha / blendercam

Automatically exported from code.google.com/p/blendercam
GNU General Public License v3.0
483 stars 118 forks source link

Deprecated numpy attributes used #260

Closed sybrenstuvel closed 3 months ago

sybrenstuvel commented 7 months ago

Blender 4.1.1 on Win10/64-bit, with BlenderCam 1.0.21.

This is what happens when I press the "Calculate Relief" button in the "Bas Relief" panel:

Traceback (most recent call last):
  File "C:\Users\Sybren\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\cam\basrelief.py", line 1323, in execute
    relief(br)
  File "C:\Users\Sybren\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\cam\basrelief.py", line 987, in relief
    solve_pde_multigrid(divg, target, vcycleiterations, linbcgiterations,
  File "C:\Users\Sybren\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\cam\basrelief.py", line 304, in solve_pde_multigrid
    VF[0] = numpy.zeros((xmax, ymax), dtype=numpy.float)
                                            ^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.1\4.1\python\Lib\site-packages\numpy\__init__.py", line 305, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'float'.
`np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: 'cfloat'?
Error: Python: Traceback (most recent call last):
  File "C:\Users\Sybren\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\cam\basrelief.py", line 1323, in execute
    relief(br)
  File "C:\Users\Sybren\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\cam\basrelief.py", line 987, in relief
    solve_pde_multigrid(divg, target, vcycleiterations, linbcgiterations,
  File "C:\Users\Sybren\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\cam\basrelief.py", line 304, in solve_pde_multigrid
    VF[0] = numpy.zeros((xmax, ymax), dtype=numpy.float)
                                            ^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.1\4.1\python\Lib\site-packages\numpy\__init__.py", line 305, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'float'.
`np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: 'cfloat'?

Workaround

As a workaround, I tried this:

>>> import numpy
>>> numpy.float = numpy.float64

which got rid of the error and seems to work for me.

pppalain commented 3 months ago

thanks, it was patched. in my branch.