Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Environnment issues on Linux #240

Open
Hierakonpolis opened this issue Dec 3, 2024 · 0 comments
Open

Environnment issues on Linux #240

Hierakonpolis opened this issue Dec 3, 2024 · 0 comments

Comments

@Hierakonpolis
Copy link

Trying to set up a conda environment on a Linux Mint 22 system, the installation fails at the pip dependencies stage:

FutureWarning: `remote_definition` is deprecated and will be removed in 25.9. Use `conda env create --file=URL` instead.
  action(self, namespace, argument_values, option_string)
Channels:
 - conda-forge
 - mrtrix3
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

Downloading and Extracting Packages:
                                                                                
Preparing transaction: done                                                     
Verifying transaction: done                                                     
Executing transaction: \                                                        
\                                                                               
done                                                                            
Installing pip dependencies: \ Ran pip subprocess with arguments:               
['/home/riccardo/anaconda3/envs/py39cmp-gui/bin/python', '-m', 'pip', 'install', '-U', '-r', '/home/riccardo/condaenv.cpcqg3w7.requirements.txt', '--exists-action=b']
Pip subprocess output:
Collecting numpy==1.21.6
  Using cached numpy-1.21.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)
Collecting matplotlib==3.5.2
  Using cached matplotlib-3.5.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.2 MB)
Collecting configparser==5.2.0
  Using cached configparser-5.2.0-py3-none-any.whl (19 kB)
Collecting nibabel==3.2.2
  Using cached nibabel-3.2.2-py3-none-any.whl (3.3 MB)
Collecting nipype==1.8.0
  Using cached nipype-1.8.0-py3-none-any.whl (3.2 MB)
Collecting traits==6.3.2
  Using cached traits-6.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (5.1 MB)
Collecting traitsui==7.2.0
  Using cached traitsui-7.2.0-py3-none-any.whl
Collecting duecredit==0.9.1
  Using cached duecredit-0.9.1-py3-none-any.whl (86 kB)
Collecting obspy==1.2.2
  Using cached obspy-1.2.2.zip (24.7 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'

Pip subprocess error:
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      <string>:48: DeprecationWarning:
      
        `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
        of the deprecation of `distutils` itself. It will be removed for
        Python >= 3.12. For older Python versions it will remain present.
        It is recommended to use `setuptools < 60.0` for those Python versions.
        For more details, see:
          https://numpy.org/devdocs/reference/distutils_status_migration.html
      
      
      Traceback (most recent call last):
        File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-wz66h3r2/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
        File "/tmp/pip-build-env-wz66h3r2/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 304, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-wz66h3r2/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 320, in run_setup
          exec(code, locals())
        File "<string>", line 48, in <module>
        File "/tmp/pip-build-env-wz66h3r2/overlay/lib/python3.9/site-packages/numpy/distutils/core.py", line 24, in <module>
          from numpy.distutils.command import config, config_compiler, \
        File "/tmp/pip-build-env-wz66h3r2/overlay/lib/python3.9/site-packages/numpy/distutils/command/config.py", line 19, in <module>
          from numpy.distutils.mingw32ccompiler import generate_manifest
        File "/tmp/pip-build-env-wz66h3r2/overlay/lib/python3.9/site-packages/numpy/distutils/mingw32ccompiler.py", line 27, in <module>
          from distutils.msvccompiler import get_build_version as get_build_msvc_version
      ModuleNotFoundError: No module named 'distutils.msvccompiler'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

failed

CondaEnvException: Pip failed

If I try to move obspy to the list of packages installed by anaconda I can get the environment setup to complete successfully. After pip install connectomemapper (and pip install future which seems to be also missing) both connectomemapper3 and cmpbidsappmanager evenutally fail with:

~$ connectomemapper3
RuntimeError: module was compiled against NumPy C-API version 0x10 (NumPy 1.23) but the running NumPy has C-API version 0xe. Check the section C-API incompatibility at the Troubleshooting ImportError section at https://numpy.org/devdocs/user/troubleshooting-importerror.html#c-api-incompatibility for indications on how to solve this problem.
Traceback (most recent call last):
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/bin/connectomemapper3", line 5, in <module>
    from cmp.cli.connectomemapper3 import main
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/cmp/cli/connectomemapper3.py", line 16, in <module>
    import cmp.project
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/cmp/project.py", line 25, in <module>
    from cmp.pipelines.functional import eeg as EEG_pipeline
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/cmp/pipelines/functional/eeg.py", line 25, in <module>
    from cmp.stages.eeg.esi import EEGSourceImagingStage
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/cmp/stages/eeg/esi.py", line 29, in <module>
    from cmtklib.interfaces.mne import (
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/cmtklib/interfaces/mne.py", line 25, in <module>
    import mne_connectivity as mnec
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/mne_connectivity/__init__.py", line 11, in <module>
    from .base import (Connectivity, EpochConnectivity, EpochSpectralConnectivity,
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/mne_connectivity/base.py", line 4, in <module>
    import xarray as xr
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/__init__.py", line 3, in <module>
    from xarray import testing, tutorial
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/testing.py", line 11, in <module>
    from xarray.core.coordinates import Coordinates
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/core/coordinates.py", line 16, in <module>
    from xarray.core.alignment import Aligner
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/core/alignment.py", line 24, in <module>
    from xarray.core.variable import Variable, as_compatible_data, calculate_dimensions
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/core/variable.py", line 48, in <module>
    from xarray.namedarray.core import NamedArray
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/namedarray/core.py", line 24, in <module>
    from xarray.namedarray._typing import (
  File "/home/riccardo/anaconda3/envs/py39cmp-gui/lib/python3.9/site-packages/xarray/namedarray/_typing.py", line 28, in <module>
    _DType = TypeVar("_DType", bound=np.dtype[Any])
TypeError: 'numpy._DTypeMeta' object is not subscriptable

Incidentally, because the docker container is likely going to work anyway, I might also just do with instructions on how to build the configuration json files myself if these are available anywhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant