paulbrodersen / netgraph

Publication-quality network visualisations in python
GNU General Public License v3.0
660 stars 39 forks source link

AttributeError: module 'numpy' has no attribute 'float'. Did you mean: 'cfloat'? #58

Closed rjalexa closed 1 year ago

rjalexa commented 1 year ago
import networkx
import matplotlib.pyplot as plt
from netgraph import Graph, InteractiveGraph, EditableGraph

graph_data = networkx.karate_club_graph()

plot_instance = InteractiveGraph(graph_data)
plt.show()

yields the following error:

(netgraph) bob@Roberts-Mac-mini netgraph % python test.py
Traceback (most recent call last):
  File "/Users/bob/Documents/work/netgraph/test.py", line 7, in <module>
    plot_instance = InteractiveGraph(graph_data)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/netgraph/_main.py", line 2567, in __init__
    DraggableGraphWithGridMode.__init__(self, *args, **kwargs)
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/netgraph/_main.py", line 1850, in __init__
    super().__init__(*args, **kwargs)
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/netgraph/_main.py", line 1721, in __init__
    Graph.__init__(self, *args, **kwargs)
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/netgraph/_main.py", line 1388, in __init__
    super().__init__(edges, *args, **kwargs)
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/netgraph/_main.py", line 286, in __init__
    node_size       = self._normalize_numeric_argument(node_size, self.nodes, 'node_size')
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/netgraph/_main.py", line 373, in _normalize_numeric_argument
    if isinstance(numeric_or_dict, (int, float, np.integer, np.float)):
                                                            ^^^^^^^^
  File "/Users/bob/opt/miniconda3/envs/netgraph/lib/python3.11/site-packages/numpy/__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'float'. Did you mean: 'cfloat'?

which is due to float having benn deprecated and removed in numpy 1.24

Here is a pointer to a solution: https://stackoverflow.com/questions/74844262/how-to-solve-error-numpy-has-no-attribute-float-in-python

Environment:

Mac Mini M1 (Apple Silicon) under MacOS 12.6
Python environment managed by conda (netgraph installed by pip in the conda environment:
python                    3.11.0          h559f36b_0_cpython    conda-forge
numpy                     1.24.0          py311h62c7003_0    conda-forge
matplotlib                3.6.2           py311h6eed73b_0    conda-forge
networkx                  2.8.8              pyhd8ed1ab_0    conda-forge
netgraph                  4.11.5                   pypi_0    pypi
rectangle-packer          2.0.1                    pypi_0    pypi
scipy                     1.9.3                    pypi_0    pypi

Thank you very much for any help.

paulbrodersen commented 1 year ago

Yeah, I meant to fix that a while ago. Will do so now.

paulbrodersen commented 1 year ago

Should be fixed in the newest release.