meow icon indicating copy to clipboard operation
meow copied to clipboard

meow installation problem

Open lukasc-ubc opened this issue 7 months ago • 0 comments

Hello Floris,

I am trying to run meow, and wanted to let you know if the challenges I encountered. See below. Also the "import meow" line takes quite a long time; maybe there are a lot of large dependancies like gdsfactory?

Thank you

On Mac OSX:

lukasc@Lukass-Air klayout_dot_config % pip install meow-sim --upgrade
Requirement already satisfied: meow-sim in /opt/homebrew/lib/python3.10/site-packages (0.11.0)
...

lukasc@Lukass-Air klayout_dot_config % python
Python 3.10.13 (main, Aug 24 2023, 22:43:20) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import meow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/lib/python3.10/site-packages/meow/__init__.py", line 14, in <module>
    from .eme import compute_interface_s_matrices as compute_interface_s_matrices
  File "/opt/homebrew/lib/python3.10/site-packages/meow/eme/__init__.py", line 10, in <module>
    from .sax import compute_s_matrix_sax as compute_s_matrix_sax
  File "/opt/homebrew/lib/python3.10/site-packages/meow/eme/sax.py", line 6, in <module>
    import sax
  File "/opt/homebrew/lib/python3.10/site-packages/sax/__init__.py", line 14, in <module>
    from . import backends as backends
  File "/opt/homebrew/lib/python3.10/site-packages/sax/backends/__init__.py", line 8, in <module>
    from ..netlist import Component
  File "/opt/homebrew/lib/python3.10/site-packages/sax/netlist.py", line 13, in <module>
    import networkx as nx
  File "/opt/homebrew/lib/python3.10/site-packages/networkx/__init__.py", line 100, in <module>
    import networkx.classes.filters
  File "/opt/homebrew/lib/python3.10/site-packages/networkx/classes/__init__.py", line 1, in <module>
    from .graph import Graph
  File "/opt/homebrew/lib/python3.10/site-packages/networkx/classes/graph.py", line 23, in <module>
    from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections' (/opt/homebrew/Cellar/[email protected]/3.10.13/Frameworks/Python.framework/Versions/3.10/lib/python3.10/collections/__init__.py)
>>> 

upgrading networkx seemed to help:

lukasc@Lukass-Air klayout_dot_config % pip install networkx --upgrade
Requirement already satisfied: networkx in /opt/homebrew/lib/python3.10/site-packages (2.0)
Collecting networkx
  Using cached networkx-3.3-py3-none-any.whl.metadata (5.1 kB)
Using cached networkx-3.3-py3-none-any.whl (1.7 MB)
Installing collected packages: networkx
  Attempting uninstall: networkx
    Found existing installation: networkx 2.0
    Uninstalling networkx-2.0:
      Successfully uninstalled networkx-2.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
postman-problems 0.3 requires networkx==2.0, but you have networkx 3.3 which is incompatible.
Successfully installed networkx-3.3

but despite having klujax installed, I get the warning:

lukasc@Lukass-Air klayout_dot_config % pip install klujax
Requirement already satisfied: klujax in /opt/homebrew/lib/python3.10/site-packages (0.2.5)

lukasc@Lukass-Air klayout_dot_config % python                      
Python 3.10.13 (main, Aug 24 2023, 22:43:20) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import meow
/opt/homebrew/lib/python3.10/site-packages/sax/backends/__init__.py:58: UserWarning: klujax not found. Please install klujax for better performance during circuit evaluation!
  warnings.warn(

Then on Python 3.11.1:

lukasc@Lukass-Air GitHub % pip install meow-sim --upgrade
Requirement already satisfied: meow-sim in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (0.11.0)
...

lukasc@Lukass-Air GitHub % python
Python 3.11.1 (main, Apr 14 2024, 12:39:36) [Clang 15.0.0 (clang-1500.0.40.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import meow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/meow/__init__.py", line 14, in <module>
    from .eme import compute_interface_s_matrices as compute_interface_s_matrices
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/meow/eme/__init__.py", line 10, in <module>
    from .sax import compute_s_matrix_sax as compute_s_matrix_sax
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/meow/eme/sax.py", line 6, in <module>
    import sax
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/sax/__init__.py", line 14, in <module>
    from . import backends as backends
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/sax/backends/__init__.py", line 8, in <module>
    from ..netlist import Component
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/sax/netlist.py", line 22, in <module>
    from .utils import clean_string, hash_dict
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/sax/utils.py", line 26, in <module>
    import jax.scipy.linalg
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/jax/scipy/linalg.py", line 18, in <module>
    from jax._src.scipy.linalg import (
  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/jax/_src/scipy/linalg.py", line 403, in <module>
    @_wraps(scipy.linalg.tril)
            ^^^^^^^^^^^^^^^^^
AttributeError: module 'scipy.linalg' has no attribute 'tril'

then I upgrade scipy:

lukasc@Lukass-Air GitHub % pip install scipy --upgrade
Requirement already satisfied: scipy in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (1.13.0)
Collecting scipy
  Downloading scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl.metadata (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.8/60.8 kB 1.3 MB/s eta 0:00:00
Requirement already satisfied: numpy<2.3,>=1.23.5 in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (from scipy) (1.26.4)
Downloading scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl (23.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.1/23.1 MB 20.1 MB/s eta 0:00:00
Installing collected packages: scipy
  Attempting uninstall: scipy
    Found existing installation: scipy 1.13.0
    Uninstalling scipy-1.13.0:
      Successfully uninstalled scipy-1.13.0
Successfully installed scipy-1.14.0

and get the same error:

  File "/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/jax/_src/scipy/linalg.py", line 403, in <module>
    @_wraps(scipy.linalg.tril)
            ^^^^^^^^^^^^^^^^^
AttributeError: module 'scipy.linalg' has no attribute 'tril'
lukasc@Lukass-Air GitHub % pip install jax --upgrade
Requirement already satisfied: jax in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (0.4.23)
Collecting jax
  Using cached jax-0.4.30-py3-none-any.whl.metadata (22 kB)
Collecting jaxlib<=0.4.30,>=0.4.27 (from jax)
  Downloading jaxlib-0.4.30-cp311-cp311-macosx_11_0_arm64.whl.metadata (1.0 kB)
Requirement already satisfied: ml-dtypes>=0.2.0 in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (from jax) (0.4.0)
Requirement already satisfied: numpy>=1.22 in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (from jax) (1.26.4)
Requirement already satisfied: opt-einsum in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (from jax) (3.3.0)
Requirement already satisfied: scipy>=1.9 in /Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages (from jax) (1.14.0)
Using cached jax-0.4.30-py3-none-any.whl (2.0 MB)
Downloading jaxlib-0.4.30-cp311-cp311-macosx_11_0_arm64.whl (66.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.7/66.7 MB 24.7 MB/s eta 0:00:00
Installing collected packages: jaxlib, jax
  Attempting uninstall: jaxlib
    Found existing installation: jaxlib 0.4.23
    Uninstalling jaxlib-0.4.23:
      Successfully uninstalled jaxlib-0.4.23
  Attempting uninstall: jax
    Found existing installation: jax 0.4.23
    Uninstalling jax-0.4.23:
      Successfully uninstalled jax-0.4.23
Successfully installed jax-0.4.30 jaxlib-0.4.30

and it works:

lukasc@Lukass-Air GitHub % python                   
Python 3.11.1 (main, Apr 14 2024, 12:39:36) [Clang 15.0.0 (clang-1500.0.40.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import meow
/Users/lukasc/.pyenv/versions/3.11.1/lib/python3.11/site-packages/sax/backends/__init__.py:58: UserWarning: klujax not found. Please install klujax for better performance during circuit evaluation!
  warnings.warn(
>>> 

Conclusion: the required dependancies for the meow package should be updated.

thank you Lukas

lukasc-ubc avatar Jul 27 '24 06:07 lukasc-ubc