CameronBodine / PINGMapper

Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
https://cameronbodine.github.io/PINGMapper/
MIT License
39 stars 3 forks source link

Numpy 2.0 compatibility issue with Tensorflow #123

Open CameronBodine opened 2 months ago

CameronBodine commented 2 months ago

An end user had the following error:

(ping) C:\Users\sbond\MyPythonRepos\PINGMapper>python gui_main.py

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "C:\Users\sbond\MyPythonRepos\PINGMapper\gui_main.py", line 9, in <module>
    from main_readFiles import read_master_func
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\main_readFiles.py", line 32, in <module>
    from class_portstarObj import portstarObj
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\class_portstarObj.py", line 31, in <module>
    from funcs_model import *
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\funcs_model.py", line 36, in <module>
    import tensorflow as tf
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\__init__.py", line 45, in <module>
    from tensorflow._api.v2 import __internal__
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\__init__.py", line 8, in <module>
    from tensorflow._api.v2.__internal__ import autograph
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\autograph\__init__.py", line 8, in <module>
    from tensorflow.python.autograph.core.ag_ctx import control_status_ctx # line: 34
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\core\ag_ctx.py", line 21, in <module>
    from tensorflow.python.autograph.utils import ag_logging
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\__init__.py", line 17, in <module>
    from tensorflow.python.autograph.utils.context_managers import control_dependency_on_returns
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\context_managers.py", line 19, in <module>
    from tensorflow.python.framework import ops
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\framework\ops.py", line 46, in <module>
    from tensorflow.python import pywrap_tfe
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\pywrap_tfe.py", line 25, in <module>
    from tensorflow.python._pywrap_tfe import *
AttributeError: _ARRAY_API not found

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "C:\Users\sbond\MyPythonRepos\PINGMapper\gui_main.py", line 9, in <module>
    from main_readFiles import read_master_func
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\main_readFiles.py", line 32, in <module>
    from class_portstarObj import portstarObj
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\class_portstarObj.py", line 31, in <module>
    from funcs_model import *
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\funcs_model.py", line 36, in <module>
    import tensorflow as tf
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\__init__.py", line 45, in <module>
    from tensorflow._api.v2 import __internal__
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\__init__.py", line 8, in <module>
    from tensorflow._api.v2.__internal__ import autograph
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\autograph\__init__.py", line 8, in <module>
    from tensorflow.python.autograph.core.ag_ctx import control_status_ctx # line: 34
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\core\ag_ctx.py", line 21, in <module>
    from tensorflow.python.autograph.utils import ag_logging
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\__init__.py", line 17, in <module>
    from tensorflow.python.autograph.utils.context_managers import control_dependency_on_returns
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\context_managers.py", line 19, in <module>
    from tensorflow.python.framework import ops
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\framework\ops.py", line 49, in <module>
    from tensorflow.python.client import pywrap_tf_session
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\client\pywrap_tf_session.py", line 19, in <module>
    from tensorflow.python.client._pywrap_tf_session import *
AttributeError: _ARRAY_API not found

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "C:\Users\sbond\MyPythonRepos\PINGMapper\gui_main.py", line 9, in <module>
    from main_readFiles import read_master_func
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\main_readFiles.py", line 32, in <module>
    from class_portstarObj import portstarObj
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\class_portstarObj.py", line 31, in <module>
    from funcs_model import *
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\funcs_model.py", line 36, in <module>
    import tensorflow as tf
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\__init__.py", line 45, in <module>
    from tensorflow._api.v2 import __internal__
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\__init__.py", line 8, in <module>
    from tensorflow._api.v2.__internal__ import autograph
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\autograph\__init__.py", line 8, in <module>
    from tensorflow.python.autograph.core.ag_ctx import control_status_ctx # line: 34
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\core\ag_ctx.py", line 21, in <module>
    from tensorflow.python.autograph.utils import ag_logging
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\__init__.py", line 17, in <module>
    from tensorflow.python.autograph.utils.context_managers import control_dependency_on_returns
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\context_managers.py", line 19, in <module>
    from tensorflow.python.framework import ops
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\framework\ops.py", line 50, in <module>
    from tensorflow.python.eager import context
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\eager\context.py", line 37, in <module>
    from tensorflow.python.eager import execute
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\eager\execute.py", line 21, in <module>
    from tensorflow.python.framework import dtypes
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\framework\dtypes.py", line 21, in <module>
    import ml_dtypes
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\ml_dtypes\__init__.py", line 32, in <module>
    from ml_dtypes._finfo import finfo
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\ml_dtypes\_finfo.py", line 19, in <module>
    from ml_dtypes._ml_dtypes_ext import bfloat16
AttributeError: _ARRAY_API not found
ImportError: numpy.core._multiarray_umath failed to import
Traceback (most recent call last):
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\gui_main.py", line 9, in <module>
    from main_readFiles import read_master_func
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\main_readFiles.py", line 32, in <module>
    from class_portstarObj import portstarObj
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\class_portstarObj.py", line 31, in <module>
    from funcs_model import *
  File "C:\Users\sbond\MyPythonRepos\PINGMapper\src\funcs_model.py", line 36, in <module>
    import tensorflow as tf
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\__init__.py", line 45, in <module>
    from tensorflow._api.v2 import __internal__
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\__init__.py", line 8, in <module>
    from tensorflow._api.v2.__internal__ import autograph
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\_api\v2\__internal__\autograph\__init__.py", line 8, in <module>
    from tensorflow.python.autograph.core.ag_ctx import control_status_ctx # line: 34
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\core\ag_ctx.py", line 21, in <module>
    from tensorflow.python.autograph.utils import ag_logging
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\__init__.py", line 17, in <module>
    from tensorflow.python.autograph.utils.context_managers import control_dependency_on_returns
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\autograph\utils\context_managers.py", line 19, in <module>
    from tensorflow.python.framework import ops
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\framework\ops.py", line 50, in <module>
    from tensorflow.python.eager import context
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\eager\context.py", line 37, in <module>
    from tensorflow.python.eager import execute
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\eager\execute.py", line 21, in <module>
    from tensorflow.python.framework import dtypes
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\tensorflow\python\framework\dtypes.py", line 21, in <module>
    import ml_dtypes
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\ml_dtypes\__init__.py", line 32, in <module>
    from ml_dtypes._finfo import finfo
  File "C:\Users\sbond\AppData\Local\miniconda3\envs\ping\Lib\site-packages\ml_dtypes\_finfo.py", line 19, in <module>
    from ml_dtypes._ml_dtypes_ext import bfloat16
ImportError: numpy.core.umath failed to import

Numpy just released a new version - 2.0.0. Setting the environment to install <2.0.