-
Notifications
You must be signed in to change notification settings - Fork 535
Closed
Description
Summary
Hi all,
I am packaging the newest nipype
version and using the test function pytest -v --doctest-modules nipype
. I have everything in requirements.txt
installed and everything seems great in this new release. However, I am getting 1 failed test and it's in the BIDS functionality (which I have not chosen to include on my system at this time). Is pybids
an optional dependency or a mandatory one? If mandatory I will install it, if optional should the test be skipped?
Thanks!
Actual behavior
the test output is:
========================================= FAILURES ==========================================
______________________ [doctest] nipype.interfaces.io.BIDSDataGrabber _______________________
2893 BIDS datagrabber module that wraps around pybids to allow arbitrary
2894 querying of BIDS datasets.
2895
2896 Examples
2897 --------
2898 By default, the BIDSDataGrabber fetches anatomical and functional images
2899 from a project, and makes BIDS entities (e.g. subject) available for
2900 filtering outputs.
2901
2902 >>> bg = BIDSDataGrabber()
UNEXPECTED EXCEPTION: ModuleNotFoundError("No module named 'bids'")
Traceback (most recent call last):
File "/usr/lib/python3.8/doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest nipype.interfaces.io.BIDSDataGrabber[0]>", line 1, in <module>
File "/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/io.py", line 2951, in __init__
from bids import layout as bidslayout
ModuleNotFoundError: No module named 'bids'
Expected behavior
I would expect the BIDS related tests to be skipped if pybids, bids-validator, etc. are not installed.
Script/Workflow details
here is the full test summary if you are interested:
test results
========================================= FAILURES ==========================================
______________________ [doctest] nipype.interfaces.io.BIDSDataGrabber _______________________
2893 BIDS datagrabber module that wraps around pybids to allow arbitrary
2894 querying of BIDS datasets.
2895
2896 Examples
2897 --------
2898 By default, the BIDSDataGrabber fetches anatomical and functional images
2899 from a project, and makes BIDS entities (e.g. subject) available for
2900 filtering outputs.
2901
2902 >>> bg = BIDSDataGrabber()
UNEXPECTED EXCEPTION: ModuleNotFoundError("No module named 'bids'")
Traceback (most recent call last):
File "/usr/lib/python3.8/doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest nipype.interfaces.io.BIDSDataGrabber[0]>", line 1, in <module>
File "/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/io.py", line 2951, in __init__
from bids import layout as bidslayout
ModuleNotFoundError: No module named 'bids'
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/io.py:2902: UnexpectedException
----------------------------------- Captured stdout call ------------------------------------
200604-11:31:33,297 nipype.interface WARNING:
Unable to import ['bids']; BIDSDataGrabber interface may fail to run
------------------------------------- Captured log call -------------------------------------
WARNING nipype.interface:core.py:1069 Unable to import ['bids']; BIDSDataGrabber interface may fail to run
===================================== warnings summary ======================================
/usr/lib/python3.8/site-packages/dipy/viz/__init__.py:21
/usr/lib/python3.8/site-packages/dipy/viz/__init__.py:21: UserWarning: You do not have FURY installed. Some visualization functions might not work for you. For installation instructions, please visit: https://fury.gl/
warnings.warn(
/usr/lib/python3.8/site-packages/dipy/stats/__init__.py:7
/usr/lib/python3.8/site-packages/dipy/stats/__init__.py:7: UserWarning: The `dipy.stats` module is still under heavy development and functionality, as well as the API is likely to change in future versions of the software
warnings.warn(w_string)
nipype/interfaces/mrtrix/convert.py:6
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/mrtrix/convert.py:6: DeprecationWarning: The trackvis interface has been deprecated and will be removed in v4.0; please use the 'nibabel.streamlines' interface.
import nibabel.trackvis as trk
nipype/pipeline/engine/tests/test_nodes.py:319
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/pipeline/engine/tests/test_nodes.py:319: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
@pytest.mark.timeout(30)
nipype/pipeline/plugins/tests/test_oar.py:33
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/pipeline/plugins/tests/test_oar.py:33: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
@pytest.mark.timeout(60)
nipype/pipeline/plugins/tests/test_pbs.py:33
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/pipeline/plugins/tests/test_pbs.py:33: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
@pytest.mark.timeout(60)
/usr/lib/python3.8/site-packages/sphinxcontrib/napoleon/docstring.py:16
/usr/lib/python3.8/site-packages/sphinxcontrib/napoleon/docstring.py:16: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working
from collections import Callable
nipype/utils/tests/test_provenance.py:18
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/utils/tests/test_provenance.py:18: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
@pytest.mark.timeout(60)
nipype/utils/tests/test_provenance.py:31
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/utils/tests/test_provenance.py:31: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
@pytest.mark.timeout(60)
nipype/workflows/__init__.py:28
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/workflows/__init__.py:28: UserWarning: Nipype 1 workflows have been moved to the niflow-nipype1-workflows package. pip install niflow-nipype1-workflows to continue using them.
warnings.warn(" ".join(_msg))
algorithms/tests/test_CompCor.py::TestCompCor::test_tcompcor_asymmetric_dim
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/algorithms/confounds.py:1438: RuntimeWarning: invalid value encountered in true_divide
variance_explained = (s ** 2) / np.sum(s ** 2)
interfaces/fsl/dti.py::nipype.interfaces.fsl.dti.ProbTrackX
interfaces/fsl/dti.py::nipype.interfaces.fsl.dti.ProbTrackX2
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/fsl/dti.py:816: DeprecationWarning: Deprecated: Please use create_bedpostx_pipeline instead
warnings.warn(
interfaces/fsl/epi.py::nipype.interfaces.fsl.epi.EPIDeWarp
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/fsl/epi.py:1417: DeprecationWarning: Deprecated: Please use niflow.nipype1.workflows.dmri.preprocess.epi.sdc_fmb instead
warnings.warn(
interfaces/fsl/epi.py::nipype.interfaces.fsl.epi.EddyCorrect
interfaces/fsl/tests/test_epi.py::test_eddy_correct2
interfaces/fsl/tests/test_epi.py::test_eddy_correct2
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/fsl/epi.py:1523: DeprecationWarning: Deprecated: Please use nipype.interfaces.fsl.epi.Eddy instead
warnings.warn(
interfaces/nipy/utils.py::nipype.interfaces.nipy.utils.Similarity
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/interfaces/nipy/utils.py:59: DeprecationWarning: This interface is deprecated since 0.10.0. Please use nipype.algorithms.metrics.Similarity
warnings.warn(
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extract_no_shared
/usr/lib/python3.8/site-packages/nilearn/_utils/niimg.py:168: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working
if isinstance(niimgs, collections.Iterable):
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extract_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_global_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_global_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_4d_global_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_traits_valid
/usr/lib/python3.8/site-packages/nilearn/_utils/cache_mixin.py:226: DeprecationWarning: The 'cachedir' attribute has been deprecated in version 0.12 and will be removed in version 0.14.
Use os.path.join(memory.location, 'joblib') attribute instead.
if (memory.cachedir is None and memory_level is not None
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_equiv_4d_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_4d_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_4d_global_no_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_shared
interfaces/tests/test_nilearn.py::TestSignalExtraction::test_signal_extr_shared
/usr/lib/python3.8/site-packages/nilearn/_utils/cache_mixin.py:295: DeprecationWarning: The 'cachedir' attribute has been deprecated in version 0.12 and will be removed in version 0.14.
Use os.path.join(memory.location, 'joblib') attribute instead.
if self.memory_level == 0 and self.memory.cachedir is not None:
utils/tests/test_misc.py::test_rgetcwd
/mnt/4e43a4f6-7402-4881-bcf5-d280e54cc385/AUR/aur/python-nipype/src/nipype-1.5.0/nipype/utils/misc.py:368: UserWarning: Current folder does not exist, replacing with "/tmp/pytest-of-mri/pytest-1/test_rgetcwd0" instead.
warn('Current folder does not exist, replacing with "%s" instead.' % cwd)
-- Docs: https://docs.pytest.org/en/latest/warnings.html
================================== short test summary info ==================================
FAILED nipype/interfaces/io.py::nipype.interfaces.io.BIDSDataGrabber
====== 1 failed, 2809 passed, 73 skipped, 5 xfailed, 31 warnings in 153.19s (0:02:33) =======
Platform details:
(have not yet installed 1.5.0)
200604-11:38:58,673 nipype.utils INFO:
Running nipype version 1.4.2 (latest: 1.5.0)
{'commit_hash': '%h',
'commit_source': 'archive substitution',
'networkx_version': '2.4',
'nibabel_version': '3.1.0',
'nipype_version': '1.4.2',
'numpy_version': '1.18.3',
'pkg_path': '/usr/lib/python3.8/site-packages/nipype',
'scipy_version': '1.4.1',
'sys_executable': '/usr/bin/python',
'sys_platform': 'linux',
'sys_version': '3.8.3 (default, May 17 2020, 18:15:42) \n[GCC 10.1.0]',
'traits_version': '6.0.0'}
Execution environment
Choose one
- My python environment outside container
Metadata
Metadata
Assignees
Labels
No labels