gallantlab / pycortex

Pycortex is a python-based toolkit for surface visualization of fMRI data
https://gallantlab.github.io/pycortex
BSD 2-Clause "Simplified" License
581 stars 137 forks source link

installation 1.2.6 error on ubuntu #520

Closed logogriph2 closed 9 months ago

logogriph2 commented 9 months ago

Defaulting to user installation because normal site-packages is not writeable Collecting pycortex==1.2.6 Downloading pycortex-1.2.6.tar.gz (37.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 37.2/37.2 MB 2.8 MB/s eta 0:00:00 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 ╰─> [381 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 /tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-opozy4lz/pycortex_cbe3c659e23e43b7899521d80c2039da/cortex/formats.pyx tree = Parsing.p_module(s, pxd, full_module_name) warning: cortex/formats.pyx:114:14: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. warning: cortex/formats.pyx:114:28: Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line. /tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-opozy4lz/pycortex_cbe3c659e23e43b7899521d80c2039da/cortex/openctm.pxd tree = Parsing.p_module(s, pxd, full_module_name) Error compiling Cython file: ------------------------------------------------------------ ... import sys import numpy as np cimport cython cimport openctm ^ ------------------------------------------------------------ cortex/openctm.pyx:5:8: 'openctm.pxd' not found Error compiling Cython file: ------------------------------------------------------------ ... cdef object norms cdef public dict attribs cdef public dict uvs def __cinit__(self, object filename, str mode='r'): cdef openctm.CTMenum err ^ ------------------------------------------------------------ cortex/openctm.pyx:43:13: 'CTMenum' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... return pts, polys, norms def save(self, method='mg2', int level=9): cdef char* cname = NULL cdef float* cnorms = NULL cdef openctm.CTMenum err ^ ------------------------------------------------------------ cortex/openctm.pyx:152:13: 'CTMenum' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... def save(self, method='mg2', int level=9): cdef char* cname = NULL cdef float* cnorms = NULL cdef openctm.CTMenum err cdef openctm.CTMenum ctmmeth ^ ------------------------------------------------------------ cortex/openctm.pyx:153:13: 'CTMenum' is not a type identifier Error compiling Cython file: ------------------------------------------------------------ ... cimport cython cimport openctm cimport numpy as np uvmaps = [ openctm.CTM_UV_MAP_1, ^ ------------------------------------------------------------ cortex/openctm.pyx:9:11: cimported module has no attribute 'CTM_UV_MAP_1' Error compiling Cython file: ------------------------------------------------------------ ... cimport openctm cimport numpy as np uvmaps = [ openctm.CTM_UV_MAP_1, openctm.CTM_UV_MAP_2, ^ ------------------------------------------------------------ cortex/openctm.pyx:10:11: cimported module has no attribute 'CTM_UV_MAP_2' Error compiling Cython file: ------------------------------------------------------------ ... cimport numpy as np uvmaps = [ openctm.CTM_UV_MAP_1, openctm.CTM_UV_MAP_2, openctm.CTM_UV_MAP_3, ^ ------------------------------------------------------------ cortex/openctm.pyx:11:11: cimported module has no attribute 'CTM_UV_MAP_3' Error compiling Cython file: ------------------------------------------------------------ ... uvmaps = [ openctm.CTM_UV_MAP_1, openctm.CTM_UV_MAP_2, openctm.CTM_UV_MAP_3, openctm.CTM_UV_MAP_4, ^ ------------------------------------------------------------ cortex/openctm.pyx:12:11: cimported module has no attribute 'CTM_UV_MAP_4' Error compiling Cython file: ------------------------------------------------------------ ... uvmaps = [ openctm.CTM_UV_MAP_1, openctm.CTM_UV_MAP_2, openctm.CTM_UV_MAP_3, openctm.CTM_UV_MAP_4, openctm.CTM_UV_MAP_5, ^ ------------------------------------------------------------ cortex/openctm.pyx:13:11: cimported module has no attribute 'CTM_UV_MAP_5' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_UV_MAP_1, openctm.CTM_UV_MAP_2, openctm.CTM_UV_MAP_3, openctm.CTM_UV_MAP_4, openctm.CTM_UV_MAP_5, openctm.CTM_UV_MAP_6, ^ ------------------------------------------------------------ cortex/openctm.pyx:14:11: cimported module has no attribute 'CTM_UV_MAP_6' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_UV_MAP_2, openctm.CTM_UV_MAP_3, openctm.CTM_UV_MAP_4, openctm.CTM_UV_MAP_5, openctm.CTM_UV_MAP_6, openctm.CTM_UV_MAP_7, ^ ------------------------------------------------------------ cortex/openctm.pyx:15:11: cimported module has no attribute 'CTM_UV_MAP_7' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_UV_MAP_3, openctm.CTM_UV_MAP_4, openctm.CTM_UV_MAP_5, openctm.CTM_UV_MAP_6, openctm.CTM_UV_MAP_7, openctm.CTM_UV_MAP_8, ^ ------------------------------------------------------------ cortex/openctm.pyx:16:11: cimported module has no attribute 'CTM_UV_MAP_8' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_UV_MAP_6, openctm.CTM_UV_MAP_7, openctm.CTM_UV_MAP_8, ] attrmaps = [ openctm.CTM_ATTRIB_MAP_1, ^ ------------------------------------------------------------ cortex/openctm.pyx:19:11: cimported module has no attribute 'CTM_ATTRIB_MAP_1' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_UV_MAP_7, openctm.CTM_UV_MAP_8, ] attrmaps = [ openctm.CTM_ATTRIB_MAP_1, openctm.CTM_ATTRIB_MAP_2, ^ ------------------------------------------------------------ cortex/openctm.pyx:20:11: cimported module has no attribute 'CTM_ATTRIB_MAP_2' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_UV_MAP_8, ] attrmaps = [ openctm.CTM_ATTRIB_MAP_1, openctm.CTM_ATTRIB_MAP_2, openctm.CTM_ATTRIB_MAP_3, ^ ------------------------------------------------------------ cortex/openctm.pyx:21:11: cimported module has no attribute 'CTM_ATTRIB_MAP_3' Error compiling Cython file: ------------------------------------------------------------ ... ] attrmaps = [ openctm.CTM_ATTRIB_MAP_1, openctm.CTM_ATTRIB_MAP_2, openctm.CTM_ATTRIB_MAP_3, openctm.CTM_ATTRIB_MAP_4, ^ ------------------------------------------------------------ cortex/openctm.pyx:22:11: cimported module has no attribute 'CTM_ATTRIB_MAP_4' Error compiling Cython file: ------------------------------------------------------------ ... attrmaps = [ openctm.CTM_ATTRIB_MAP_1, openctm.CTM_ATTRIB_MAP_2, openctm.CTM_ATTRIB_MAP_3, openctm.CTM_ATTRIB_MAP_4, openctm.CTM_ATTRIB_MAP_5, ^ ------------------------------------------------------------ cortex/openctm.pyx:23:11: cimported module has no attribute 'CTM_ATTRIB_MAP_5' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_ATTRIB_MAP_1, openctm.CTM_ATTRIB_MAP_2, openctm.CTM_ATTRIB_MAP_3, openctm.CTM_ATTRIB_MAP_4, openctm.CTM_ATTRIB_MAP_5, openctm.CTM_ATTRIB_MAP_6, ^ ------------------------------------------------------------ cortex/openctm.pyx:24:11: cimported module has no attribute 'CTM_ATTRIB_MAP_6' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_ATTRIB_MAP_2, openctm.CTM_ATTRIB_MAP_3, openctm.CTM_ATTRIB_MAP_4, openctm.CTM_ATTRIB_MAP_5, openctm.CTM_ATTRIB_MAP_6, openctm.CTM_ATTRIB_MAP_7, ^ ------------------------------------------------------------ cortex/openctm.pyx:25:11: cimported module has no attribute 'CTM_ATTRIB_MAP_7' Error compiling Cython file: ------------------------------------------------------------ ... openctm.CTM_ATTRIB_MAP_3, openctm.CTM_ATTRIB_MAP_4, openctm.CTM_ATTRIB_MAP_5, openctm.CTM_ATTRIB_MAP_6, openctm.CTM_ATTRIB_MAP_7, openctm.CTM_ATTRIB_MAP_8, ^ ------------------------------------------------------------ cortex/openctm.pyx:26:11: cimported module has no attribute 'CTM_ATTRIB_MAP_8' Error compiling Cython file: ------------------------------------------------------------ ... openctm.ctmLoad(self.ctx, to_bytes(self.filename)) err = ctmGetError(self.ctx) if err != openctm.CTM_NONE: raise IOError(openctm.ctmErrorString(err)) nuv = openctm.ctmGetInteger(self.ctx, openctm.CTM_UV_MAP_COUNT) ^ ------------------------------------------------------------ cortex/openctm.pyx:57:25: cimported module has no attribute 'ctmGetInteger' Error compiling Cython file: ------------------------------------------------------------ ... openctm.ctmLoad(self.ctx, to_bytes(self.filename)) err = ctmGetError(self.ctx) if err != openctm.CTM_NONE: raise IOError(openctm.ctmErrorString(err)) nuv = openctm.ctmGetInteger(self.ctx, openctm.CTM_UV_MAP_COUNT) ^ ------------------------------------------------------------ cortex/openctm.pyx:57:25: Compiler crash in AnalyseExpressionsTransform ModuleNode.body = StatListNode(openctm.pyx:1:0) StatListNode.stats[7] = StatListNode(openctm.pyx:29:5) StatListNode.stats[0] = CClassDefNode(openctm.pyx:29:5, as_name = 'CTMfile', class_name = 'CTMfile', module_name = '', punycode_class_name = 'CTMfile', visibility = 'private') CClassDefNode.body = StatListNode(openctm.pyx:30:4) StatListNode.stats[0] = DefNode(openctm.pyx:42:4, modifiers = [...]/0, name = '__cinit__', np_args_idx = [...]/0, num_required_args = 2, outer_attrs = [...]/2, py_wrapper_required = True, reqd_kw_flags_cname = '0', used = True) File 'ExprNodes.py', line 5893, in infer_type: SimpleCallNode(openctm.pyx:57:39, result_is_used = True, use_managed_ref = True) File 'ExprNodes.py', line 7348, in infer_type: AttributeNode(openctm.pyx:57:25, attribute = 'ctmGetInteger', is_attribute = 1, needs_none_check = True, result_is_used = True, use_managed_ref = True) Compiler crash traceback from this point on: File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/Cython/Compiler/ExprNodes.py", line 7348, in infer_type if node.entry.type and node.entry.type.is_cfunction: AttributeError: 'NoneType' object has no attribute 'type' Compiling cortex/openctm.pyx because it changed. Compiling cortex/formats.pyx because it changed. [1/2] Cythonizing cortex/formats.pyx [2/2] Cythonizing cortex/openctm.pyx Traceback (most recent call last): File "/home/admin2/.local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/home/admin2/.local/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/admin2/.local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires self.run_setup() File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 480, in run_setup super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script) File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup exec(code, locals()) File "", line 131, in File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize cythonize_one(*args) File "/tmp/pip-build-env-5cnoezpg/overlay/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: cortex/openctm.pyx [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.
logogriph2 commented 9 months ago

apt-get install python3.(x)-dev fixed this error