sbrisard / janus

Discretization of the Lippmann--Schwinger equation with periodic boundary conditions
BSD 3-Clause "New" or "Revised" License
9 stars 3 forks source link

Tests do not passed. #23

Open Fengyixin-research opened 2 years ago

Fengyixin-research commented 2 years ago

Thanks for the authors' kind guides. However, when I want to implement the tests, it shows

`============================ test session starts ============================== platform linux -- Python 3.8.8, pytest-6.2.3, py-1.10.0, pluggy-0.13.1 rootdir: /home/fengyx/下载/janus-master, configfile: pytest.ini plugins: anyio-2.2.0 collected 127 items / 6 errors / 121 selected

==================================== ERRORS ==================================== ____ ERROR collecting tests/test_discrete_green_operator.py ____ ImportError while importing test module '/home/fengyx/下载/janus-master/tests/test_discrete_green_operator.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: ../../anaconda3/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_discrete_green_operator.py:7: in import janus.fft.serial as fft janus/fft/init.py:64: in from .serial._serial_fft import FFTW_ESTIMATE janus/fft/serial/init.py:7: in from ._serial_fft import create_real E ModuleNotFoundError: No module named 'janus.fft.serial._serial_fft' __ ERROR collecting tests/test_fft.py __ ImportError while importing test module '/home/fengyx/下载/janus-master/tests/test_fft.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: ../../anaconda3/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_fft.py:4: in import janus.fft.serial janus/fft/init.py:64: in from .serial._serial_fft import FFTW_ESTIMATE janus/fft/serial/init.py:7: in from ._serial_fft import create_real E ModuleNotFoundError: No module named 'janus.fft.serial._serial_fft' ____ ERROR collecting tests/test_greenop.py ____ ImportError while importing test module '/home/fengyx/下载/janus-master/tests/test_greenop.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: ../../anaconda3/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_greenop.py:6: in import janus.material.elastic.linear.isotropic as material E ModuleNotFoundError: No module named 'janus.material.elastic.linear.isotropic' _ ERROR collecting tests/test_isotropic_linear_elasticmaterial.py ImportError while importing test module '/home/fengyx/下载/janus-master/tests/test_isotropic_linear_elastic_material.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: ../../anaconda3/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_isotropic_linear_elastic_material.py:3: in import janus.material.elastic.linear.isotropic as material E ModuleNotFoundError: No module named 'janus.material.elastic.linear.isotropic' __ ERROR collecting tests/test_memory_leak.py __ ImportError while importing test module '/home/fengyx/下载/janus-master/tests/test_memory_leak.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: ../../anaconda3/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_memory_leak.py:5: in import janus.material.elastic.linear.isotropic as material E ModuleNotFoundError: No module named 'janus.material.elastic.linear.isotropic' _____ ERROR collecting tests/test_operators.py ___ ImportError while importing test module '/home/fengyx/下载/janus-master/tests/test_operators.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: ../../anaconda3/lib/python3.8/importlib/init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_operators.py:9: in from janus.operators import AbstractOperator E ModuleNotFoundError: No module named 'janus.operators' =========================== short test summary info ============================ ERROR tests/test_discrete_green_operator.py ERROR tests/test_fft.py ERROR tests/test_greenop.py ERROR tests/test_isotropic_linear_elastic_material.py ERROR tests/test_memory_leak.py ERROR tests/test_operators.py !!!!!!!!!!!!!!!!!!! Interrupted: 6 errors during collection !!!!!!!!!!!!!!!!!!!! ============================== 6 errors in 0.29s =============================== ` I am using the latest Anaconda embedded with python 3.8 on ubuntu 20.04, the installation is finished without errors. Thanks for any help.

sbrisard commented 2 years ago

Thank you for opening this issue. For some reason, installing Janus with

python setup.py install

fails (some links seem to be broken). However,

python setup.py develop --user

does work.

I have never really dug into this issue, since I am mostly using Janus in "develop" mode. I will keep this issue open as a reminder that this should be solved!

cilia-1106 commented 1 year ago

Hello @fenfam & @sbrisard, Thanks for reporting issues and providing potential solutions! Unfortunately, I encountered the same problem with @fenfam (6 errors). However, even though I followed the instructions @sbrisard provided to re-install Janus, the errors still exist. The changes are:

Original: E ModuleNotFoundError: No module named 'janus.fft.serial._serial_fft' Present: ImportError: DLL load failed while importing _serial_fft

and the number of errors was reduced to 5...(crying TAT)

So, did anyone else have similar experiences? And how did you solve the problem?

cilia-1106 commented 1 year ago

Maybe I solved the problem! (though many warnings still exist)

Add the path of file "libfftw3-3.dll" to the PATH environment variables, then most parts of the test pass: ======== 20 failed, 3023 passed, 111 skipped, 82 warnings in 43.12s =============

However, the parts related to "TestBlockDiagonalLinearOperator2D" failed: (I don't know why yet) d9eccffae230448a95e5bf4b1e47993 a926cec965b320056683cb6ac563f95

Since most of them have passed, I guess the Janus could work now. If anyone solves the problem about "TestBlockDiagonalLinearOperator2D", welcome to tell me!