Skip to content

Problem with pyspike installation #82

@GabrieleCasagrande

Description

@GabrieleCasagrande

Good morning!
Sorry for the inconvenience but I am finding some difficulties to install the PySpike package with pip I get the following error message:

`Collecting pyspike
Using cached pyspike-0.8.0.tar.gz (1.1 MB)
Preparing metadata (pyproject.toml) ... Requirement already satisfied: numpy in /home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages (from pyspike) (2.2.4)
Building wheels for collected packages: pyspike
Building wheel for pyspike (pyproject.toml) ... error: subprocess-exited-with-error

× Building wheel for pyspike (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [190 lines of output]
/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/dist.py:493: SetuptoolsDeprecationWarning: Invalid dash-separated options
!!

          ********************************************************************************
          Usage of dash-separated 'description-file' will not be supported in future
          versions. Please use the underscore name 'description_file' instead.
  
          This deprecation is overdue, please update your project and remove deprecated
          calls to avoid build errors in the future.
  
          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************
  
  !!
    opt = self.warn_dash_deprecation(opt, section)
  running bdist_wheel
  running build
  running build_py
  creating build/lib.linux-x86_64-cpython-313/test
  copying test/test_save_load.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_sync_filter.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_reconcile.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_auto_thresh.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_directionality.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/__init__.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_spikes.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_distance.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_MRTS.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_empty.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_function.py -> build/lib.linux-x86_64-cpython-313/test
  copying test/test_generic_interfaces.py -> build/lib.linux-x86_64-cpython-313/test
  creating build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/PieceWiseConstFunc.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/DiscreteFunc.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/spikes.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/spike_distance.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/spike_sync.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/isi_distance.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/spike_directionality.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/__init__.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/isi_lengths.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/generic.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/psth.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/SpikeTrain.py -> build/lib.linux-x86_64-cpython-313/pyspike
  copying pyspike/PieceWiseLinFunc.py -> build/lib.linux-x86_64-cpython-313/pyspike
  creating build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/python_backend.py -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/__init__.py -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/directionality_python_backend.py -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/cython_add.c -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/cython_profiles.c -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/cython_get_tau.c -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/cython_distances.c -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/cython_directionality.c -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  copying pyspike/cython/cython_simulated_annealing.c -> build/lib.linux-x86_64-cpython-313/pyspike/cython
  running build_ext
  Traceback (most recent call last):
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
      main()
      ~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
      json_out["return_val"] = hook(**hook_input["kwargs"])
                               ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
      return _build_backend().build_wheel(
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
          wheel_directory, config_settings, metadata_directory
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/build_meta.py", line 438, in build_wheel
      return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/build_meta.py", line 426, in _build
      return self._build_with_temp_dir(
             ~~~~~~~~~~~~~~~~~~~~~~~~~^
          cmd,
          ^^^^
      ...<3 lines>...
          self._arbitrary_args(config_settings),
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/build_meta.py", line 407, in _build_with_temp_dir
      self.run_setup()
      ~~~~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/build_meta.py", line 522, in run_setup
      super().run_setup(setup_script=setup_script)
      ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/build_meta.py", line 320, in run_setup
      exec(code, locals())
      ~~~~^^^^^^^^^^^^^^^^
    File "<string>", line 84, in <module>
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/__init__.py", line 117, in setup
      return distutils.core.setup(**attrs)
             ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 186, in setup
      return run_commands(dist)
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
      dist.run_commands()
      ~~~~~~~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 983, in run_commands
      self.run_command(cmd)
      ~~~~~~~~~~~~~~~~^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
      cmd_obj.run()
      ~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/command/bdist_wheel.py", line 369, in run
      self.run_command("build")
      ~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 339, in run_command
      self.distribution.run_command(command)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
      cmd_obj.run()
      ~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/command/build.py", line 136, in run
      self.run_command(cmd_name)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 339, in run_command
      self.distribution.run_command(command)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
      cmd_obj.run()
      ~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", line 365, in run
      self.build_extensions()
      ~~~~~~~~~~~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", line 481, in build_extensions
      self._build_extensions_serial()
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py", line 507, in _build_extensions_serial
      self.build_extension(ext)
      ~~~~~~~~~~~~~~~~~~~~^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Distutils/build_ext.py", line 130, in build_extension
      new_ext = cythonize(
                ~~~~~~~~~^
          ext,force=self.force, quiet=self.verbose == 0, **options
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )[0]
      ^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 1010, in cythonize
      module_list, module_metadata = create_extension_list(
                                     ~~~~~~~~~~~~~~~~~~~~~^
          module_list,
          ^^^^^^^^^^^^
      ...<4 lines>...
          language=language,
          ^^^^^^^^^^^^^^^^^^
          aliases=aliases)
          ^^^^^^^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 859, in create_extension_list
      kwds = deps.distutils_info(file, aliases, base).values
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 707, in distutils_info
      return (self.transitive_merge(filename, self.distutils_info0, DistutilsInfo.merge)
              ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 716, in transitive_merge
      return self.transitive_merge_helper(
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
          node, extract, merge, seen, {}, self.cimported_files)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 728, in transitive_merge_helper
      for next in outgoing(node):
                  ~~~~~~~~^^^^^^
    File "Cython/Utils.py", line 129, in Cython.Utils.cached_method.wrapper
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 629, in cimported_files
      pxd_file = self.find_pxd(module, filename)
    File "Cython/Utils.py", line 129, in Cython.Utils.cached_method.wrapper
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 610, in find_pxd
      pxd = self.context.find_pxd_file(relative, source_file_path=filename)
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Compiler/Main.py", line 281, in find_pxd_file
      pxd = self.search_include_directories(
          qualified_name, suffix=".pxd", source_pos=pos, sys_path=sys_path, source_file_path=source_file_path)
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Compiler/Main.py", line 309, in search_include_directories
      return search_include_directories(
          include_dirs, qualified_name, suffix or "", source_pos, include, source_file_path)
    File "Cython/Utils.py", line 90, in Cython.Utils.cached_function.wrapper
    File "/home/gabricasa/anaconda3/envs/brian2/lib/python3.13/site-packages/Cython/Compiler/Main.py", line 703, in search_include_directories
      path = os.path.join(dirname, dotted_filename)
    File "<frozen posixpath>", line 77, in join
  TypeError: expected str, bytes or os.PathLike object, not numpy_include
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyspike
Failed to build pyspike
ERROR: Failed to build installable wheels for some pyproject.toml based projects (pyspike)`

I am currently using the version 2.2.4 of numpy in the conda env where I would like to install PySpyke.

Thank in advance for the information and wish you a good day.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions