voxelwise_tutorials icon indicating copy to clipboard operation
voxelwise_tutorials copied to clipboard

Pycortex is not compatible with Windows

Open zhawenxuan opened this issue 2 years ago • 4 comments
trafficstars

Pycortex is not compatible with Windows, but other dependencies are Windows-compatible. What is the role of pycortex in the voxelwise_tutorials, and are there any alternative packages to pycortex that can be used on Windows?

zhawenxuan avatar Sep 04 '23 04:09 zhawenxuan

Pycortex is actually only used to look at results in a 3D viewer, which is very much optional. Most of the tutorials can be run without it, so we might want to remove this dependency.

edit: actually it also uses pycortex's 2d colormaps, we would need to get them in another way.

TomDLT avatar Sep 07 '23 17:09 TomDLT

I think this Pycortex / Windows incompatibility is the reason why I am stuck with the first part? The command

pip install voxelwise_tutorials Leads to

PS C:\Users\touhara2\voxelwise_tutorials> pip install voxelwise_tutorials
Collecting voxelwise_tutorials
  Using cached voxelwise_tutorials-0.1.7-py3-none-any.whl.metadata (5.6 kB)
Collecting datalad (from voxelwise_tutorials)
  Using cached datalad-1.1.1-py3-none-any.whl.metadata (36 kB)
Collecting h5py (from voxelwise_tutorials)
  Using cached h5py-3.11.0-cp312-cp312-win_amd64.whl.metadata (2.5 kB)
Collecting himalaya (from voxelwise_tutorials)
  Using cached himalaya-0.4.6-py3-none-any.whl.metadata (6.4 kB)
Collecting matplotlib (from voxelwise_tutorials)
  Using cached matplotlib-3.9.1-cp312-cp312-win_amd64.whl.metadata (11 kB)
Collecting networkx (from voxelwise_tutorials)
  Using cached networkx-3.3-py3-none-any.whl.metadata (5.1 kB)
Collecting nltk (from voxelwise_tutorials)
  Using cached nltk-3.8.1-py3-none-any.whl.metadata (2.8 kB)
Requirement already satisfied: numpy in c:\users\touhara2\appdata\local\programs\python\python312\lib\site-packages (from voxelwise_tutorials) (2.0.0)
Collecting pycortex>=1.2.4 (from voxelwise_tutorials)
  Using cached pycortex-1.2.8.tar.gz (37.2 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      Traceback (most recent call last):
        File "C:\Users\touhara2\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
          main()
        File "C:\Users\touhara2\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\touhara2\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\touhara2\AppData\Local\Temp\pip-build-env-kq0y46o1\overlay\Lib\site-packages\setuptools\build_meta.py", line 327, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\Users\touhara2\AppData\Local\Temp\pip-build-env-kq0y46o1\overlay\Lib\site-packages\setuptools\build_meta.py", line 297, in _get_build_requires
          self.run_setup()
        File "C:\Users\touhara2\AppData\Local\Temp\pip-build-env-kq0y46o1\overlay\Lib\site-packages\setuptools\build_meta.py", line 497, in run_setup
          super().run_setup(setup_script=setup_script)
        File "C:\Users\touhara2\AppData\Local\Temp\pip-build-env-kq0y46o1\overlay\Lib\site-packages\setuptools\build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 5, in <module>
      ModuleNotFoundError: No module named 'numpy.distutils'
      [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.

I was so thrilled to go through the step-by-step guide for encoding! Windows 11 Pro 23H2, Python 3.12.4 (64)

EDIT: this was indeed the reason. Works perfectly fine on Ubuntu.

MatthieuGG avatar Jul 18 '24 05:07 MatthieuGG

For those with Windows, the best option right now is to use the tutorials on Google colab (links open on colab). We're about to release also a Dockerfile to run the tutorials, which should make it possible for Windows users to run the tutorials locally. A preview is available here #29, but it hasn't been fully tested yet.

mvdoc avatar Jul 18 '24 12:07 mvdoc

Excellent, thank you - worked perfectly fine on Colab.

MatthieuGG avatar Jul 22 '24 03:07 MatthieuGG