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

完全搭建不起环境,气死了,pycortex死活装不了 #4

Open
NKUShaw opened this issue Aug 29, 2024 · 18 comments
Open

完全搭建不起环境,气死了,pycortex死活装不了 #4

NKUShaw opened this issue Aug 29, 2024 · 18 comments

Comments

@NKUShaw
Copy link

NKUShaw commented Aug 29, 2024

No description provided.

@NKUShaw
Copy link
Author

NKUShaw commented Aug 29, 2024

非常愤怒,开源代码的里的yaml文件完全无法安装环境,做个科研怎么那么难

@NKUShaw
Copy link
Author

NKUShaw commented Aug 29, 2024

当然,我其实更希望重新造轮子,但是每个项目都是反复封装,我太菜了,根本看不懂他们想表达什么,我真的要抑郁了。

@huzeyann
Copy link
Owner

别气了 别气了

跑一下把报错发这里

# First, install some required dependencies
pip install -U setuptools wheel numpy cython
# Install the latest release of pycortex from pip
pip install -U pycortex

@NKUShaw
Copy link
Author

NKUShaw commented Aug 29, 2024

(brainnet) bhui@rhcsnero-1:~/ML/xiaoyang/ICLR2025/Brain/CLIP$ pip install -U pycortex
Collecting pycortex
Using cached pycortex-1.2.8.tar.gz (37.2 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting future (from pycortex)
Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB)
Requirement already satisfied: numpy in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (2.0.2)
Requirement already satisfied: scipy in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (1.13.1)
Requirement already satisfied: tornado>=4.3 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (6.4.1)
Collecting shapely (from pycortex)
Using cached shapely-2.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.0 kB)
Requirement already satisfied: lxml in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (5.3.0)
Collecting html5lib (from pycortex)
Using cached html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB)
Requirement already satisfied: h5py in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (3.11.0)
Collecting numexpr (from pycortex)
Using cached numexpr-2.10.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (1.2 kB)
Collecting cython<3.0 (from pycortex)
Using cached Cython-0.29.37-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.metadata (3.1 kB)
Requirement already satisfied: matplotlib in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (3.8.4)
Requirement already satisfied: pillow in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (10.4.0)
Requirement already satisfied: nibabel>=2.1 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (5.2.1)
Requirement already satisfied: networkx>=2.1 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (3.2.1)
Requirement already satisfied: imageio in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from pycortex) (2.35.0)
Collecting wget (from pycortex)
Using cached wget-3.2-py3-none-any.whl
Requirement already satisfied: packaging>=17 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from nibabel>=2.1->pycortex) (24.1)
Requirement already satisfied: six>=1.9 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from html5lib->pycortex) (1.16.0)
Requirement already satisfied: webencodings in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from html5lib->pycortex) (0.5.1)
Collecting numpy (from pycortex)
Using cached numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
Requirement already satisfied: contourpy>=1.0.1 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (1.2.0)
Requirement already satisfied: cycler>=0.10 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (1.4.4)
Requirement already satisfied: pyparsing>=2.3.1 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (2.9.0.post0)
Requirement already satisfied: importlib-resources>=3.2.0 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from matplotlib->pycortex) (6.4.0)
Requirement already satisfied: zipp>=3.1.0 in /home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages (from importlib-resources>=3.2.0->matplotlib->pycortex) (3.17.0)
Using cached Cython-0.29.37-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (1.9 MB)
Using cached future-1.0.0-py3-none-any.whl (491 kB)
Using cached html5lib-1.1-py2.py3-none-any.whl (112 kB)
Using cached numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)
Using cached numexpr-2.10.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (404 kB)
Using cached shapely-2.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB)
Building wheels for collected packages: pycortex
Building wheel for pycortex (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for pycortex (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [587 lines of output]
:5: 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
  
  
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-cpython-39
  creating build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/options.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/rois.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/appdirs.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/anat.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/mayavi_aligner.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/database.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/utils.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/surfinfo.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/align.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/volume.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/svgoverlay.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/brainctm.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/testing_utils.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/formats_old.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/fmriprep.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/mp.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/freesurfer.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/xfm.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/mni.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/segment.py -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/version.py -> build/lib.linux-x86_64-cpython-39/cortex
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/data.py -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/view.py -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/serve.py -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/FallbackLoader.py -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/htmlembed.py -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  creating build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/mapper.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/line.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/point.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/volume.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/samplers.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  copying cortex/mapper/patch.py -> build/lib.linux-x86_64-cpython-39/cortex/mapper
  creating build/lib.linux-x86_64-cpython-39/cortex/dataset
  copying cortex/dataset/view2D.py -> build/lib.linux-x86_64-cpython-39/cortex/dataset
  copying cortex/dataset/viewRGB.py -> build/lib.linux-x86_64-cpython-39/cortex/dataset
  copying cortex/dataset/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/dataset
  copying cortex/dataset/dataset.py -> build/lib.linux-x86_64-cpython-39/cortex/dataset
  copying cortex/dataset/views.py -> build/lib.linux-x86_64-cpython-39/cortex/dataset
  copying cortex/dataset/braindata.py -> build/lib.linux-x86_64-cpython-39/cortex/dataset
  creating build/lib.linux-x86_64-cpython-39/cortex/blender
  copying cortex/blender/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/blender
  copying cortex/blender/blendlib.py -> build/lib.linux-x86_64-cpython-39/cortex/blender
  creating build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/test_freesurfer.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/test_polyutils.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/test_utils.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/test_dataset.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/test_quickflat.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  copying cortex/tests/test_formats.py -> build/lib.linux-x86_64-cpython-39/cortex/tests
  creating build/lib.linux-x86_64-cpython-39/cortex/quickflat
  copying cortex/quickflat/view.py -> build/lib.linux-x86_64-cpython-39/cortex/quickflat
  copying cortex/quickflat/utils.py -> build/lib.linux-x86_64-cpython-39/cortex/quickflat
  copying cortex/quickflat/composite.py -> build/lib.linux-x86_64-cpython-39/cortex/quickflat
  copying cortex/quickflat/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/quickflat
  creating build/lib.linux-x86_64-cpython-39/cortex/polyutils
  copying cortex/polyutils/surface.py -> build/lib.linux-x86_64-cpython-39/cortex/polyutils
  copying cortex/polyutils/misc.py -> build/lib.linux-x86_64-cpython-39/cortex/polyutils
  copying cortex/polyutils/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/polyutils
  copying cortex/polyutils/subsurface.py -> build/lib.linux-x86_64-cpython-39/cortex/polyutils
  copying cortex/polyutils/distortion.py -> build/lib.linux-x86_64-cpython-39/cortex/polyutils
  copying cortex/polyutils/exact_geodesic.py -> build/lib.linux-x86_64-cpython-39/cortex/polyutils
  creating build/lib.linux-x86_64-cpython-39/cortex/export
  copying cortex/export/_default_params.py -> build/lib.linux-x86_64-cpython-39/cortex/export
  copying cortex/export/save_views.py -> build/lib.linux-x86_64-cpython-39/cortex/export
  copying cortex/export/__init__.py -> build/lib.linux-x86_64-cpython-39/cortex/export
  copying cortex/export/panels.py -> build/lib.linux-x86_64-cpython-39/cortex/export
  running egg_info
  writing pycortex.egg-info/PKG-INFO
  writing dependency_links to pycortex.egg-info/dependency_links.txt
  writing requirements to pycortex.egg-info/requires.txt
  writing top-level names to pycortex.egg-info/top_level.txt
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative
  dependency /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/_core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative
  reading manifest file 'pycortex.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  adding license file 'LICENSE'
  writing manifest file 'pycortex.egg-info/SOURCES.txt'
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.css' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.css' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.css' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.css' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.css' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.css.images' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.css.images' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.css.images' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.css.images' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.css.images' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.explo_demo' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.explo_demo' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.explo_demo' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.explo_demo' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.explo_demo' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.js' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.js' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.js' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.js' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.js' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.js.ctm' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.js.ctm' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.js.ctm' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.js.ctm' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.js.ctm' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.js.ctm.license' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.js.ctm.license' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.js.ctm.license' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.js.ctm.license' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.js.ctm.license' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  /tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'cortex.webgl.resources.json' is absent from the `packages` configuration.
  !!
  
          ********************************************************************************
          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cortex.webgl.resources.json' as an importable package[^1],
          but it is absent from setuptools' `packages` configuration.
  
          This leads to an ambiguous overall configuration. If you want to distribute this
          package, please make sure that 'cortex.webgl.resources.json' is explicitly added
          to the `packages` configuration field.
  
          Alternatively, you can also rely on setuptools' discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).
  
          You can read more about "package discovery" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
  
          If you don't want 'cortex.webgl.resources.json' to be distributed and are
          already explicitly excluding 'cortex.webgl.resources.json' via
          `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
          you can try to use `exclude_package_data`, or `include-package-data=False` in
          combination with a more fine grained `package-data` configuration.
  
          You can read more about "package data files" on setuptools documentation page:
  
          - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
  
  
          [^1]: For Python, any directory (with suitable naming) can be imported,
                even if it does not contain any `.py` files.
                On the other hand, currently there is no concept of package data
                directory, all directories are treated like packages.
          ********************************************************************************
  
  !!
    check.warn(importable)
  copying cortex/bbr.sch -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/defaults.cfg -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/formats.c -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/formats.pyx -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/openctm.c -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/openctm.pxd -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/openctm.pyx -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/svgbase.xml -> build/lib.linux-x86_64-cpython-39/cortex
  copying cortex/webgl/demo.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/explo_demo.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/favicon.ico -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/mixer.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/public.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/simple.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/static.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/template.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/wngraph-labeled.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/wngraph-minimal.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/wngraph.html -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  copying cortex/webgl/wngraph.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/demo.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/jquery-ui.min.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/jquery.miniColors.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/jsplot.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/mriview.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/select2-4.0.3.min.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/w2ui-1.2.min.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/w2ui-1.4.2.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  copying cortex/webgl/resources/css/w2ui-1.4.2.min.css -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/colors.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/control-pause.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/control-play.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/loading.gif -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/magnifying_glass.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/trigger.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_diagonals-thick_20_666666_40x40.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_flat_10_000000_40x100.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_glass_100_f6f6f6_1x400.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_glass_100_fdf5ce_1x400.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_glass_65_ffffff_1x400.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-icons_222222_256x240.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-icons_228ef1_256x240.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-icons_ef8c08_256x240.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-icons_ffd27a_256x240.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  copying cortex/webgl/resources/css/images/ui-icons_ffffff_256x240.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/css/images
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/cursor.png -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/demo.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/flatten_1.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/flatten_2.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/intro.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/intro.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/rotate_1.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/rotate_2.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/swipe_left.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/swipe_right.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/zoom_1.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  copying cortex/webgl/resources/explo_demo/zoom_2.svg -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/explo_demo
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/LandscapeControls.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/OculusRiftEffect.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/axes3d.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/canvg.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/dat.gui.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/datamodel.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/dataset.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/facepick.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/facepick_worker.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/figure.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/graphview.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/hoverintent.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jgestures.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery-2.1.1.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery-ui.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery.ddslick.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery.miniColors.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery.svg.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery.svganim.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/jquery.ui.touch-punch.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/kdTree-min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/leap-0.6.4.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/leap.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/menu.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/movement.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/mriview.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/mriview_surface.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/mriview_utils.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/python_interface.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/rgbcolor.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/select2-4.0.3.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/shaderlib.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/shadowtex.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/sliceplane.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/surfgeometry.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/surfload.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/svg_todataurl.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/svgoverlay.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/three.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/w2ui-1.2.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/w2ui-1.4.2.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  copying cortex/webgl/resources/js/w2ui-1.4.2.min.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm
  copying cortex/webgl/resources/js/ctm/CTMLoader.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm
  copying cortex/webgl/resources/js/ctm/CTMWorker.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm
  copying cortex/webgl/resources/js/ctm/ctm.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm
  copying cortex/webgl/resources/js/ctm/lzma.js -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm/license
  copying cortex/webgl/resources/js/ctm/license/OpenCTM.txt -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm/license
  copying cortex/webgl/resources/js/ctm/license/js-lzma.txt -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm/license
  copying cortex/webgl/resources/js/ctm/license/js-openctm.txt -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/js/ctm/license
  creating build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/json
  copying cortex/webgl/resources/json/wngraph-definitions.json -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/json
  copying cortex/webgl/resources/json/wngraph-nodenames.json -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/json
  copying cortex/webgl/resources/json/wngraph-rgbcolors.json -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/json
  copying cortex/webgl/resources/json/wngraph-testvoxwts.json -> build/lib.linux-x86_64-cpython-39/cortex/webgl/resources/json
  running build_ext
  building 'cortex.openctm' extension
  Traceback (most recent call last):
    File "/home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/bhui/miniconda3/envs/brainnet/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 421, in build_wheel
      return self._build_with_temp_dir(
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 403, in _build_with_temp_dir
      self.run_setup()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 503, in run_setup
      super().run_setup(setup_script=setup_script)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 318, in run_setup
      exec(code, locals())
    File "<string>", line 109, in <module>
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 117, in setup
      return distutils.core.setup(**attrs)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 184, in setup
      return run_commands(dist)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
      dist.run_commands()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 953, in run_commands
      self.run_command(cmd)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/bdist_wheel.py", line 384, in run
      self.run_command("build")
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 98, in run
      _build_ext.run(self)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
      self.build_extensions()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions
      self._build_extensions_serial()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial
      self.build_extension(ext)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 263, in build_extension
      _build_ext.build_extension(self, ext)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 557, in build_extension
      objects = self.compiler.compile(
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/distutils/ccompiler.py", line 91, in <lambda>
      m = lambda self, *args, **kw: func(self, *args, **kw)
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/distutils/ccompiler.py", line 274, in CCompiler_compile
      jobs = get_num_build_jobs()
    File "/tmp/pip-build-env-_y4i9dzh/overlay/lib/python3.9/site-packages/numpy/distutils/misc_util.py", line 91, in get_num_build_jobs
      from numpy.distutils.core import get_distribution
    File "/tmp/pip-build-env-_y4i9dzh/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-_y4i9dzh/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-_y4i9dzh/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: Failed building wheel for pycortex
Failed to build pycortex
ERROR: Could not build wheels for pycortex, which is required to install pyproject.toml-based projects

@huzeyann
Copy link
Owner

looks like build essential tools are missing in your machine, please try

sudo apt-get update
sudo apt-get install build-essential python-distutils python3-distutils

https://medium.com/@adwalkz/demystifying-development-a-guide-to-build-essential-in-ubuntu-for-seamless-software-compilation-b590b5a298bb

@NKUShaw
Copy link
Author

NKUShaw commented Aug 29, 2024

looks like build essential tools are missing in your machine, please try

sudo apt-get update
sudo apt-get install build-essential python-distutils python3-distutils

https://medium.com/@adwalkz/demystifying-development-a-guide-to-build-essential-in-ubuntu-for-seamless-software-compilation-b590b5a298bb

Actually:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
python3-distutils is already the newest version (3.10.8-1~22.04).

the problem is still here
so sad

@huzeyann
Copy link
Owner

@NKUShaw
Copy link
Author

NKUShaw commented Aug 29, 2024

is setuptools installed?

pip install -U setuptools wheel numpy cython

https://gallantlab.org/pycortex/install.html https://www.geeksforgeeks.org/differences-between-distribute-distutils-setuptools-in-python/

yes

@huzeyann
Copy link
Owner

you could try install an older version of pycortex, the one I was using is

pip install pycortex==1.2.7

@NKUShaw
Copy link
Author

NKUShaw commented Aug 29, 2024

you could try install an older version of pycortex, the one I was using is

pip install pycortex==1.2.7

same error
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pycortex
Failed to build pycortex
ERROR: Could not build wheels for pycortex, which is required to install pyproject.toml-based projects

@huzeyann
Copy link
Owner

I believe the issue is related to setuptools, you could try these https://stackoverflow.com/questions/69919970/no-module-named-distutils-util-but-distutils-installed

building envs is a headache, the ultimate solution is to use the docker image

install docker and nvidia-docker plugin:

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

run the env:

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash

@NKUShaw
Copy link
Author

NKUShaw commented Aug 30, 2024

我还是不太理解

I believe the issue is related to setuptools, you could try these https://stackoverflow.com/questions/69919970/no-module-named-distutils-util-but-distutils-installed

building envs is a headache, the ultimate solution is to use the docker image

install docker and nvidia-docker plugin:

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

run the env:

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash

我能明白docker是用别的搭建的环境
docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash
==> /dev/null <==
tail: cannot open 'bash' for reading: No such file or directory
接下来就没反应了,也没有中断,也无法中断
terminal就变成这样了,也无法关闭,只能另开一个terminal强行stop掉这个镜像,我压根不知道下步该怎么办,我四张L40S,不至于运行不了这个环境吧

@NKUShaw
Copy link
Author

NKUShaw commented Aug 30, 2024

其实我只是想跑一下example.ipynb

@NKUShaw
Copy link
Author

NKUShaw commented Aug 30, 2024

真想remake了

@huzeyann
Copy link
Owner

我还是不太理解

I believe the issue is related to setuptools, you could try these https://stackoverflow.com/questions/69919970/no-module-named-distutils-util-but-distutils-installed
building envs is a headache, the ultimate solution is to use the docker image
install docker and nvidia-docker plugin:

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

run the env:

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash

我能明白docker是用别的搭建的环境 docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash ==> /dev/null <== tail: cannot open 'bash' for reading: No such file or directory 接下来就没反应了,也没有中断,也无法中断 terminal就变成这样了,也无法关闭,只能另开一个terminal强行stop掉这个镜像,我压根不知道下步该怎么办,我四张L40S,不至于运行不了这个环境吧

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest /bin/bash

@NKUShaw
Copy link
Author

NKUShaw commented Aug 30, 2024

我还是不太理解

I believe the issue is related to setuptools, you could try these https://stackoverflow.com/questions/69919970/no-module-named-distutils-util-but-distutils-installed
building envs is a headache, the ultimate solution is to use the docker image
install docker and nvidia-docker plugin:

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

run the env:

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash

我能明白docker是用别的搭建的环境 docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash ==> /dev/null <== tail: cannot open 'bash' for reading: No such file or directory 接下来就没反应了,也没有中断,也无法中断 terminal就变成这样了,也无法关闭,只能另开一个terminal强行stop掉这个镜像,我压根不知道下步该怎么办,我四张L40S,不至于运行不了这个环境吧

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest /bin/bash

这是pycorex那边自己出问题了,现已修复,感谢帮助。

@NKUShaw
Copy link
Author

NKUShaw commented Aug 30, 2024

我还是不太理解

I believe the issue is related to setuptools, you could try these https://stackoverflow.com/questions/69919970/no-module-named-distutils-util-but-distutils-installed
building envs is a headache, the ultimate solution is to use the docker image
install docker and nvidia-docker plugin:

curl -fsSL https://get.docker.com -o get-docker.sh | sudo sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

run the env:

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash

我能明白docker是用别的搭建的环境 docker run -it --gpus all --shm-size 32G huzeeee/afo:latest bash ==> /dev/null <== tail: cannot open 'bash' for reading: No such file or directory 接下来就没反应了,也没有中断,也无法中断 terminal就变成这样了,也无法关闭,只能另开一个terminal强行stop掉这个镜像,我压根不知道下步该怎么办,我四张L40S,不至于运行不了这个环境吧

docker run -it --gpus all --shm-size 32G huzeeee/afo:latest /bin/bash

A question of example.ipynb
I saw I got a folder named '/home/XXX/nilearn_data/fsaverage/'
but when I run these codes:{
trainer.fit(plmodel)
}
It can run an entire round.
but got error:

KeyError Traceback (most recent call last)
Cell In[14], line 11
1 trainer = pl.Trainer(
2 max_epochs=10,
3 accelerator="gpu",
(...)
9 enable_checkpointing=False,
10 )
---> 11 trainer.fit(plmodel)
12 # 30 min on 4090, 8GB of VRAM

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:608, in Trainer.fit(self, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path)
606 model = self._maybe_unwrap_optimized(model)
607 self.strategy._lightning_module = model
--> 608 call._call_and_handle_interrupt(
609 self, self._fit_impl, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path
610 )

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py:38, in _call_and_handle_interrupt(trainer, trainer_fn, *args, **kwargs)
36 return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
37 else:
---> 38 return trainer_fn(*args, **kwargs)
40 except _TunerExitException:
41 trainer._call_teardown_hook()

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:650, in Trainer._fit_impl(self, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path)
643 ckpt_path = ckpt_path or self.resume_from_checkpoint
644 self._ckpt_path = self._checkpoint_connector._set_ckpt_path(
645 self.state.fn,
646 ckpt_path, # type: ignore[arg-type]
647 model_provided=True,
648 model_connected=self.lightning_module is not None,
649 )
--> 650 self._run(model, ckpt_path=self.ckpt_path)
652 assert self.state.stopped
653 self.training = False

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1112, in Trainer._run(self, model, ckpt_path)
1108 self._checkpoint_connector.restore_training_state()
1110 self._checkpoint_connector.resume_end()
-> 1112 results = self._run_stage()
1114 log.detail(f"{self.class.name}: trainer tearing down")
1115 self._teardown()

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1191, in Trainer._run_stage(self)
1189 if self.predicting:
1190 return self._run_predict()
-> 1191 self._run_train()

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1214, in Trainer._run_train(self)
1211 self.fit_loop.trainer = self
1213 with torch.autograd.set_detect_anomaly(self._detect_anomaly):
-> 1214 self.fit_loop.run()

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/loop.py:199, in Loop.run(self, *args, **kwargs)
197 try:
198 self.on_advance_start(*args, **kwargs)
--> 199 self.advance(*args, **kwargs)
200 self.on_advance_end()
201 self._restarting = False

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/fit_loop.py:267, in FitLoop.advance(self)
265 self._data_fetcher.setup(dataloader, batch_to_device=batch_to_device)
266 with self.trainer.profiler.profile("run_training_epoch"):
--> 267 self._outputs = self.epoch_loop.run(self._data_fetcher)

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/loop.py:200, in Loop.run(self, *args, **kwargs)
198 self.on_advance_start(*args, **kwargs)
199 self.advance(*args, **kwargs)
--> 200 self.on_advance_end()
201 self._restarting = False
202 except StopIteration:

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/epoch/training_epoch_loop.py:250, in TrainingEpochLoop.on_advance_end(self)
248 if should_check_val:
249 self.trainer.validating = True
--> 250 self._run_validation()
251 self.trainer.training = True
253 # update plateau LR scheduler after metrics are logged

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/epoch/training_epoch_loop.py:308, in TrainingEpochLoop._run_validation(self)
305 self.val_loop._reload_evaluation_dataloaders()
307 with torch.no_grad():
--> 308 self.val_loop.run()

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/loop.py:206, in Loop.run(self, *args, **kwargs)
203 break
204 self._restarting = False
--> 206 output = self.on_run_end()
207 return output

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py:184, in EvaluationLoop.on_run_end(self)
181 self._outputs = [] # free memory
183 # hook
--> 184 self._on_evaluation_epoch_end()
186 logged_outputs, self._logged_outputs = self._logged_outputs, [] # free memory
187 # include any logged outputs on epoch_end

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py:294, in EvaluationLoop._on_evaluation_epoch_end(self)
292 hook_name = "on_test_epoch_end" if self.trainer.testing else "on_validation_epoch_end"
293 self.trainer._call_callback_hooks(hook_name)
--> 294 self.trainer._call_lightning_module_hook(hook_name)
296 self.trainer._logger_connector.on_epoch_end()

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:1356, in Trainer._call_lightning_module_hook(self, hook_name, pl_module, *args, **kwargs)
1353 pl_module._current_fx_name = hook_name
1355 with self.profiler.profile(f"[LightningModule]{pl_module.class.name}.{hook_name}"):
-> 1356 output = fn(*args, **kwargs)
1358 # restore current_fx when nested context
1359 pl_module._current_fx_name = prev_fx_name

File ~/ML/xiaoyang/ICLR2025/Brain/brainnet/brainnet/plmodel.py:160, in PLModel.on_validation_epoch_end(self)
158 sel_space, sel_layer, sel_scale = self.get_selectors()
159 score = self.logged_val_r2[-1]
--> 160 fig, axs = make_training_plot(sel_space, sel_layer, sel_scale, score)
161 fig.suptitle(
162 f"Epoch={self.current_epoch:02d} "
163 + f"Step={self.global_step:05d} "
164 + f"R2={score.mean():.3f}",
165 fontsize=24,
166 )
167 fig.tight_layout(pad=1)

File ~/ML/xiaoyang/ICLR2025/Brain/brainnet/brainnet/plot_utils.py:436, in make_training_plot(space, layer, scale, score)
433 scale_png = "/tmp/scale.png"
434 score_png = "/tmp/score.png"
--> 436 make_layer_plot(layer, layer_png)
437 make_space_plot(space, space_png)
438 make_scale_plot(scale, scale_png)

File ~/ML/xiaoyang/ICLR2025/Brain/brainnet/brainnet/plot_utils.py:311, in make_layer_plot(ls, path, cbar_text, reverse, overlay)
308 fsaverage /= 0 # nan to make other vertices transparent
309 fsaverage[nsdgeneral_indices] = rgb
--> 311 r = cortex.Vertex(fsaverage[:, 0], "fsaverage", vmin=0, vmax=1)
312 g = cortex.Vertex(fsaverage[:, 1], "fsaverage", vmin=0, vmax=1)
313 b = cortex.Vertex(fsaverage[:, 2], "fsaverage", vmin=0, vmax=1)

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/cortex/dataset/views.py:347, in Vertex.init(self, data, subject, cmap, vmin, vmax, description, **kwargs)
346 def init(self, data, subject, cmap=None, vmin=None, vmax=None, description="", **kwargs):
--> 347 super(Vertex, self).init(data, subject, cmap=cmap, vmin=vmin, vmax=vmax,
348 description=description, **kwargs)
349 # set vmin and vmax
350 self.vmin = self.vmin if self.vmin is not None else
351 np.percentile(np.nan_to_num(self.data), 1)

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/cortex/dataset/braindata.py:364, in VertexData.init(self, data, subject, **kwargs)
362 super(VertexData, self).init(data, subject, **kwargs)
363 try:
--> 364 left, right = db.get_surf(self.subject, "wm")
365 except IOError:
366 left, right = db.get_surf(self.subject, "fiducial")

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/cortex/database.py:31, in _memo..memofn(self, *args, **kwargs)
29 h = str((id(fn), args, kwargs))
30 if h not in self._memocache:
---> 31 self._memocache[h] = fn(self, *args, **kwargs)
32 return copy.deepcopy(self._memocache[h])

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/cortex/database.py:498, in Database.get_surf(self, subject, type, hemisphere, merge, nudge)
495 except (AttributeError, IOError):
496 pass
--> 498 files = self.get_paths(subject)['surfs']
500 if hemisphere.lower() == "both":
501 left, right = [ self.get_surf(subject, type, hemisphere=h) for h in ["lh", "rh"]]

File ~/miniconda3/envs/brain/lib/python3.9/site-packages/cortex/database.py:668, in Database.get_paths(self, subject)
664 """Get a dictionary with a list of all candidate filenames for associated data, such as roi overlays, flatmap caches, and ctm caches.
665 """
666 surfpath = os.path.join(self.filestore, subject, "surfaces")
--> 668 if self.subjects[subject]._warning is not None:
669 warnings.warn(self.subjects[subject]._warning)
671 surfs = dict()

KeyError: 'fsaverage'

@huzeyann
Copy link
Owner

cortex.download_subject("fsaverage", download_again=False)

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

2 participants